📄 frmmain.java
字号:
jTabbedPane1.addTab("Connection Log", new javax.swing.ImageIcon(getClass().getResource("/myPackage/myIcons/24x24/LogIcon.png")), jPanel1, "Connection Information");
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Search for Files:"));
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel1.setText("File Name:");
txtFilename.setToolTipText("Enter File Name to search for.");
mySearchTable.setAutoCreateRowSorter(true);
mySearchTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null}
},
new String [] {
"File Name", "Size Bytes", "Check Sum (CRC-32)"
}
));
mySearchTable.setToolTipText("List of Found Files.");
jScrollPane2.setViewportView(mySearchTable);
btnSearch.setIcon(new javax.swing.ImageIcon(getClass().getResource("/myPackage/myIcons/24x24/searchIcon.png")));
btnSearch.setText("Search");
btnSearch.setToolTipText("Start Searching");
btnSearch.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSearchActionPerformed(evt);
}
});
btnStop.setIcon(new javax.swing.ImageIcon(getClass().getResource("/myPackage/myIcons/24x24/cancelIcon.png")));
btnStop.setText("Stop");
btnStop.setToolTipText("Stop searching progress");
btnStop.setEnabled(false);
btnStop.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnStopActionPerformed(evt);
}
});
btnDownload.setIcon(new javax.swing.ImageIcon(getClass().getResource("/myPackage/myIcons/24x24/saveIcon.png")));
btnDownload.setText("Download");
btnDownload.setToolTipText("Downloading Selected File.");
btnDownload.setEnabled(false);
btnDownload.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnDownloadActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 748, Short.MAX_VALUE)
.addComponent(jSeparator3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 748, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtFilename, javax.swing.GroupLayout.PREFERRED_SIZE, 356, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(btnSearch)
.addGap(4, 4, 4)
.addComponent(btnDownload, javax.swing.GroupLayout.PREFERRED_SIZE, 525, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnStop, javax.swing.GroupLayout.DEFAULT_SIZE, 118, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(txtFilename, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 313, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 13, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnDownload)
.addComponent(btnSearch)
.addComponent(btnStop))
.addContainerGap(64, Short.MAX_VALUE))
);
jTabbedPane1.addTab("Search", new javax.swing.ImageIcon(getClass().getResource("/myPackage/myIcons/24x24/searchIcon2.png")), jPanel2, "Search for Shared Files.");
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("List of Shared Files:"));
mySharedTable.setAutoCreateRowSorter(true);
mySharedTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Type", "File Name", "Size Bytes", "Check Sum (CRC-32)"
}
));
mySharedTable.setToolTipText("My Shared Files");
jScrollPane3.setViewportView(mySharedTable);
btnReload.setIcon(new javax.swing.ImageIcon(getClass().getResource("/myPackage/myIcons/24x24/reloadIcon.png")));
btnReload.setMnemonic('R');
btnReload.setText("Reload");
btnReload.setToolTipText("Refreshing Shared Files.");
btnReload.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnReloadActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 748, Short.MAX_VALUE)
.addContainerGap())
.addComponent(jSeparator4, javax.swing.GroupLayout.DEFAULT_SIZE, 768, Short.MAX_VALUE)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(btnReload, javax.swing.GroupLayout.DEFAULT_SIZE, 748, Short.MAX_VALUE)
.addContainerGap())
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 382, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnReload)
.addContainerGap(47, Short.MAX_VALUE))
);
jTabbedPane1.addTab("Shared Files", new javax.swing.ImageIcon(getClass().getResource("/myPackage/myIcons/24x24/folderIcon.png")), jPanel3, "List of Shared Files");
jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Download Status:"));
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel2.setText("File Name:");
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel3.setText("Status:");
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel4.setText("Complited:");
lblFilename.setFont(new java.awt.Font("Tahoma", 1, 12));
lblFilename.setForeground(new java.awt.Color(153, 0, 0));
lblFilename.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblFilename.setText("None");
lblFilename.setToolTipText("Downloading file name");
lblFilename.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
lblStatus.setForeground(new java.awt.Color(0, 0, 153));
lblStatus.setText("Waiting.....");
lblStatus.setToolTipText("Status of current download");
myProgressBar.setStringPainted(true);
btnVerify.setIcon(new javax.swing.ImageIcon(getClass().getResource("/myPackage/myIcons/16x16/varifyIcon.png")));
btnVerify.setText("Verify");
btnVerify.setToolTipText("Verify Downloaded File");
btnVerify.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnVerifyActionPerformed(evt);
}
});
btnCancel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/myPackage/myIcons/16x16/cancelIcon.png")));
btnCancel.setText("Cancel");
btnCancel.setToolTipText("Cancel Download");
btnCancel.setEnabled(false);
btnCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCancelActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 65, Short.MAX_VALUE)
.addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(myProgressBar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblStatus, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel4Layout.createSequentialGroup()
.addComponent(lblFilename, javax.swing.GroupLayout.PREFERRED_SIZE, 313, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(btnVerify, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnCancel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(281, Short.MAX_VALUE))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(lblFilename)
.addComponent(btnVerify))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(lblStatus))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(myProgressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnCancel))
.addContainerGap(397, Short.MAX_VALUE))
);
jTabbedPane1.addTab("Downloads", new javax.swing.ImageIcon(getClass().getResource("/myPackage/myIcons/24x24/downloadIcon.png")), jPanel4, "Downloads Status");
jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Peers Chatting Service:"));
txtChatArea.setColumns(20);
txtChatArea.setEditable(false);
txtChatArea.setRows(5);
txtChatArea.setToolTipText("Chat Area");
jScrollPane4.setViewportView(txtChatArea);
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel5.setText("Enter Message:");
txtMessage.setToolTipText("Enter Message Here");
txtMessage.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtMessageActionPerformed(evt);
}
});
btnSendMessage.setIcon(new javax.swing.ImageIcon(getClass().getResource("/myPackage/myIcons/24x24/launchIcon.png")));
btnSendMessage.setMnemonic('S');
btnSendMessage.setText("Send");
btnSendMessage.setToolTipText("Sending Message");
btnSendMessage.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSendMessageActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jSeparator5, javax.swing.GroupLayout.DEFAULT_SIZE, 748, Short.MAX_VALUE)
.addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 748, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createSequentialGroup()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -