📄 mainframe.java
字号:
JOptionPane.showMessageDialog(null, "您未选择发送对象,或对方已下线", "ERROR", JOptionPane.ERROR_MESSAGE);
return;
}
JFileChooser chooser = new JFileChooser();
ExampleFileFilter filter = new ExampleFileFilter();
filter.addExtension("jpg");
filter.addExtension("gif");
filter.setDescription("JPG & GIF Images");
chooser.setFileFilter(filter);
chooser.setMultiSelectionEnabled(false);
int returnVal = chooser.showOpenDialog(new JFrame());
//System.out.println(returnVal);
if(returnVal == chooser.APPROVE_OPTION){//按下确定,选择图片成功
File selectFile = chooser.getSelectedFile();
try{
//******************************************
//得到面板并输出
JScrollPaneWithText current = null;
for(int i=1;i<jTabbedPane.getTabCount();i++){
if(jTabbedPane.getTitleAt(i).equals(toName)){
if(jTabbedPane.getComponentAt(i) instanceof JScrollPaneWithText){
current = (JScrollPaneWithText)jTabbedPane.getComponentAt(i);
}
break;
}
}
if(current==null){
JScrollPaneWithText jSText = new JScrollPaneWithText();
jTabbedPane.addTab(toName, null, jSText, null);
jTabbedPane.setSelectedComponent(jSText);
current = jSText;
}
Style newStyle = current.getJTextPane().addStyle("newStyle", def);
StyleConstants.setAlignment(newStyle, StyleConstants.ALIGN_RIGHT);
StyleConstants.setIcon(newStyle,new ImageIcon(selectFile.getAbsolutePath()));
Document doc = current.getJTextPane().getDocument();
try{
doc.insertString(doc.getLength(),jTextField.getText().concat(GetTime.currentTime().concat(new String("\n"))), sys2);
doc.insertString(doc.getLength(),"\n",newStyle);
current.getJTextPane().setCaretPosition(current.getJTextPane().getDocument().getLength());
}catch(BadLocationException ble){
System.err.println("Couldn't insert initial text");
}
//******************************************
byte[] imageBytes = new byte[(int)selectFile.length()];//发送的图片大小不能超过整数的表示范围
FileInputStream imageIn = new FileInputStream(selectFile);
imageIn.read(imageBytes);
if(toName!=null){
StreamData imageData = new StreamData(jTextField.getText(),toName,"IMAGE",fontFamily,0,0,imageBytes,imageBytes.length);
objectOutputStream.writeObject(imageData);
}
}catch(IOException ioe){
ioe.printStackTrace();
}
}
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButton6;
}
/**
* This method initializes jButton7
*
* @return javax.swing.JButton
*/
private JButton getJButton7() {
if (jButton7 == null) {
jButton7 = new JButton();
jButton7.setText("文件");
//jButton7.setIcon(new ImageIcon("Icon\\文件.JPG"));
jButton7.addActionListener(new java.awt.event.ActionListener() {//发送文件
public void actionPerformed(java.awt.event.ActionEvent e) {
if(login == false){//尚未登陆
JOptionPane.showMessageDialog(null, "请先登陆", "ERROR", JOptionPane.ERROR_MESSAGE);
return;
}
if(toName==null){//没有接收方
JOptionPane.showMessageDialog(null, "您未选择发送对象,或对方已下线", "ERROR", JOptionPane.ERROR_MESSAGE);
return;
}
JFileChooser chooser = new JFileChooser();
chooser.setMultiSelectionEnabled(false);
int returnVal = chooser.showOpenDialog(new JFrame());
if(returnVal == chooser.APPROVE_OPTION){//按下确定,选择文件成功
File selectFile = chooser.getSelectedFile();
try{
//******************************************
//得到面板并输出
JScrollPaneWithText current = null;
for(int i=1;i<jTabbedPane.getTabCount();i++){
if(jTabbedPane.getTitleAt(i).equals(toName)){
if(jTabbedPane.getComponentAt(i) instanceof JScrollPaneWithText){
current = (JScrollPaneWithText)jTabbedPane.getComponentAt(i);
}
break;
}
}
if(current==null){
JScrollPaneWithText jSText = new JScrollPaneWithText();
jTabbedPane.addTab(toName, null, jSText, null);
jTabbedPane.setSelectedComponent(jSText);
current = jSText;
}
//Style newStyle = current.getJTextPane().addStyle("newStyle", def);
//StyleConstants.setAlignment(newStyle, StyleConstants.ALIGN_RIGHT);
//StyleConstants.setIcon(newStyle,new ImageIcon(selectFile.getAbsolutePath()))
Document doc = current.getJTextPane().getDocument();
try{
doc.insertString(doc.getLength(),new String("您选择了发送文件 ").concat(selectFile.getName()).concat(new String(" 给 ")).concat(toName).concat(new String("\n")), sys3);
current.getJTextPane().setCaretPosition(current.getJTextPane().getDocument().getLength());
}catch(BadLocationException ble){
System.err.println("Couldn't insert initial text");
}
//******************************************
byte[] fileBytes = new byte[(int)selectFile.length()];//发送的文件大小不能超过整数的表示范围
FileInputStream fileIn = new FileInputStream(selectFile);
fileIn.read(fileBytes);
if(toName!=null){
StreamData fileData = new StreamData(jTextField.getText(),toName,"FILE",selectFile.getName(),0,0,fileBytes,fileBytes.length);
objectOutputStream.writeObject(fileData);
}
}catch(IOException ioe){
ioe.printStackTrace();
}
}
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButton7;
}
/**
* This method initializes jButton8
*
* @return javax.swing.JButton
*/
private JButton getJButton8() {
if (jButton8 == null) {
jButton8 = new JButton();
jButton8.setText("字号");
//jButton8.setIcon(new ImageIcon("Icon\\FontSize.JPG"));
jButton8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {//字体大小选择器
Object[] fontSizeValues = {"12","14","16","18","20","22","24","28","32"};
Object selectedValue = JOptionPane.showInputDialog(null,"Choose one", "FontSizeChooser",
JOptionPane.INFORMATION_MESSAGE,null,fontSizeValues, fontSizeValues[0]);
if (selectedValue!=null){
fontSize = Integer.parseInt((String)selectedValue);
jTextArea.setFont(new Font(fontFamily,Font.PLAIN,fontSize));
}
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButton8;
}
/**
* This method initializes jButton9
*
* @return javax.swing.JButton
*/
private JButton getJButton9() {
if (jButton9 == null) {
jButton9 = new JButton();
jButton9.setText("表情");
//jButton9.setIcon(new ImageIcon("Icon\\Face.JPG"));
jButton9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
faceChooser.setVisible(true);
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButton9;
}
/**
* This method initializes jButton10
*
* @return javax.swing.JButton
*/
private JButton getJButton10() {
if (jButton10 == null) {
jButton10 = new JButton();
jButton10.setText("提示音");
//jButton10.setIcon(new ImageIcon("Icon\\Warn.JPG"));
jButton10.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
int ret = JOptionPane.showConfirmDialog(null, "打开提示音", "提示音", JOptionPane.YES_NO_OPTION);
if(ret == JOptionPane.YES_OPTION) msg = true;
else msg = false;
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButton10;
}
/**
* This method initializes jButton11
*
* @return javax.swing.JButton
*/
private JButton getJButton11() {
if (jButton11 == null) {
jButton11 = new JButton();
jButton11.setText("音乐");
//jButton11.setIcon(new ImageIcon("Icon\\Music.JPG"));
jButton11.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
Object[] AudioValues = {"silver bell.mid","Joy to the world.mid","we wish you a merry christmas.mid","圣诞老人进城.mid","我听到了圣诞钟声.mid"};
Object selectedValue = JOptionPane.showInputDialog(null,"Choose one", "AudioChooser",
JOptionPane.INFORMATION_MESSAGE,null,AudioValues, AudioValues[0]);
File file= new File(".");
if (selectedValue!=null){
String audio = (String)selectedValue;
try{
if(currentAudio == null){
currentAudio = Applet.newAudioClip(new URL("file:/"+file.getAbsolutePath()+"/Audio/"+audio));
}
else{
currentAudio.stop();
currentAudio = Applet.newAudioClip(new URL("file:/"+file.getAbsolutePath()+"/Audio/"+audio));
}
currentAudio.play();
}catch(Exception e2){
e2.printStackTrace();
}
}
else{
if(currentAudio !=null) currentAudio.stop();
}
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButton11;
}
/**
* This method initializes jTextField2
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField2() {
if (jTextField2 == null) {
jTextField2 = new JTextField();
jTextField2.setText("127.0.0.1");
jTextField2.setBounds(new Rectangle(69, 380, 78, 23));
}
return jTextField2;
}
/**
* This method initializes jPasswordField
*
* @return javax.swing.JPasswordField
*/
private JPasswordField getJPasswordField() {
if (jPasswordField == null) {
jPasswordField = new JPasswordField();
jPasswordField.setBounds(new Rectangle(63, 59, 135, 21));
}
return jPasswordField;
}
/**
* This method initializes jScrollPane2
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane2() {
if (jScrollPane2 == null) {
jLabel3 = new JLabel();
//jLabel3.setText("JLabel");
jLabel3.setIcon(new ImageIcon("Icon\\5.jpg"));
jScrollPane2 = new JScrollPane();
jScrollPane2.setBounds(new Rectangle(5, 22, 195, 160));
jScrollPane2.setViewportView(jLabel3);
}
return jScrollPane2;
}
/**
* This method initializes jButton12
*
* @return javax.swing.JButton
*/
private JButton getJButton12() {
if (jButton12 == null) {
jButton12 = new JButton();
jButton12.setText("资料");
jButton12.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if(login == false){//尚未登陆
JOptionPane.showMessageDialog(null, "请先登陆", "ERROR", JOptionPane.ERROR_MESSAGE);
return;
}
if(toName==null){//没有接收方
JOptionPane.showMessageDialog(null, "您未选择查看资料的对象", "ERROR", JOptionPane.ERROR_MESSAGE);
return;
}
try{
StreamData UserInfo = new StreamData(jTextField.getText(),"ServerUserInfo"," ",toName,0,0,new String("userDate").getBytes(),new String("userDate").getBytes().length);
objectOutputStream.writeObject(UserInfo);
}catch(Exception ioe){
ioe.printStackTrace();
}
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButton12;
}
} // @jve:decl-index=0:visual-constraint="67,10"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -