新建有返回值的线程的窗口(修改的窗口有问题不懂解决)
来源:互联网 发布:js获取div class 编辑:程序博客网 时间:2024/04/23 17:34
本来想着用数组来写代码会少一些,结果还是太无知了。。。。。。如果有懂得的路人路过可以指出问题出在哪里就太感谢了(=* v *=),虽然可能会被我的基础知识醉倒。。。
原来的代码:
package Thread;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
public class SynchronizedBankFrame extends JFrame {
private JPanel contentPane;
private JTextArea thread1TextArea;
private JTextArea thread2TextArea;
private JTextArea thread3TextArea;
/**
* Launch the application.
*/
public static void main(String[] args) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Throwable e) {
e.printStackTrace();
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
SynchronizedBankFrame frame = new SynchronizedBankFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public SynchronizedBankFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel=new JPanel();
panel.setLayout(new GridLayout(1,3,5,5));
contentPane.add(panel,BorderLayout.CENTER);
JPanel buttonPanel=new JPanel();
contentPane.add(buttonPanel,BorderLayout.SOUTH);
JButton button=new JButton("开始存钱");
buttonPanel.add(button);
//一号线程
JPanel thread1Panel=new JPanel();
thread1Panel.setLayout(new BorderLayout(0,0));
panel.add(thread1Panel);
JLabel thread1Label=new JLabel("一号线程");
thread1Panel.add(thread1Label,BorderLayout.NORTH);
JScrollPane scrollPane=new JScrollPane();
thread1Panel.add(scrollPane,BorderLayout.CENTER);
thread1TextArea=new JTextArea();
scrollPane.setViewportView(thread1TextArea);
//二号线程
JPanel thread2Panel=new JPanel();
thread2Panel.setLayout(new BorderLayout(0,0));
panel.add(thread2Panel);
JLabel thread2Label=new JLabel("二号线程");
thread2Panel.add(thread2Label,BorderLayout.NORTH);
JScrollPane thread2ScrollPane=new JScrollPane();
thread2Panel.add(thread2ScrollPane,BorderLayout.CENTER);
thread2TextArea=new JTextArea();
thread2ScrollPane.setViewportView(thread2TextArea);
//三号线程
JPanel thread3Panel=new JPanel();
thread3Panel.setLayout(new BorderLayout(0,0));
panel.add(thread3Panel);
JLabel thread3Label=new JLabel("三号线程");
thread3Panel.add(thread3Label,BorderLayout.NORTH);
JScrollPane thread3ScrollPane=new JScrollPane();
thread3Panel.add(thread3ScrollPane,BorderLayout.CENTER);
thread3TextArea=new JTextArea();
thread3ScrollPane.setViewportView(thread3TextArea);
}
}
结果:
修改后代码:
package Thread;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.border.EmptyBorder;
public class SynchronizedBankFrame1 extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
SynchronizedBankFrame1 frame = new SynchronizedBankFrame1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public SynchronizedBankFrame1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel buttonPanel=new JPanel();
contentPane.add(buttonPanel,BorderLayout.SOUTH);
JButton button=new JButton("开始存钱");
buttonPanel.add(button);
JPanel panel_1=new JPanel();
panel_1.setLayout(new GridLayout(1,3,5,5));
contentPane.add(panel_1,BorderLayout.CENTER);
//数组
JPanel[] panel=new JPanel[3];
JLabel[] label=new JLabel[3];
String[] name={"一号线程","二号线程","三号线程"};
JScrollPane[] scrollPane=new JScrollPane[3];
JTextArea[] textArea=new JTextArea[3];
for(int i=0;i<3;i++){
scrollPane[i].setViewportView(textArea[i]);
panel[i].add(scrollPane[i],BorderLayout.CENTER);
label[i].setText(name[i]);
panel[i].setLayout(new BorderLayout(0,0));
panel[i].add(label[i],BorderLayout.NORTH);
panel_1.add(panel[i]);
}
}
}
- 新建有返回值的线程的窗口(修改的窗口有问题不懂解决)
- 有滚动条的新建窗口
- 解决Xcode 窗口中间有条竖线的问题
- SetTimer在无窗口和有窗口线程的使用
- SetTimer在无窗口和有窗口线程的使用 .
- 有窗口的编程
- 有返回值的线程
- 有返回值的线程
- 有返回值的线程
- 有返回值的线程
- 有返回值的线程
- 有返回值的线程
- Java线程-有返回值的线程
- Java线程:有返回值的线程
- java--线程--有返回值的线程
- 有模式的弹出窗口
- WPF新建线程覆盖窗口的进度条
- 傲游浏览器有两个窗口显示的解决
- 博客介绍
- ansible的安装
- C可变参数的应用和内存对齐
- 测试学习点
- 使用Python开发木马程序
- 新建有返回值的线程的窗口(修改的窗口有问题不懂解决)
- 改造ext form表单提交时遇到的问题
- 贪心算法和哈夫曼算法
- CentOS上升级Pyhton到2.7
- UVA
- IntelliJ idea 一些名字的理解和Web项目的运行
- Android edittext 属性inputtype详解
- 深入学习Java反射之道-field
- Spring和SpringMVC父子的容器之道