java Swing布局中JFrame添加new JScrollPane(JTextArea)控制大小
需要大家幫忙處理的是 在布局中將JTextArea errorPro 在窗口中直接顯示8行﹐現在對JTextArea ﹑JScrollPane﹑JFrame都無法改變JTextArea errorPro大小 當設定JTextArea errorPro大小的時候﹐小有改變但是口中只能顯示一部分出來。是否是因為 JPanel 的原因﹐口好象是在jf.setLayout(new GridLayout(11,5));被平均分配成11行﹐每行里面控鍵的大小改變大小也無法全部顯示﹐只能顯示出來11/800的高度。最好是能幫忙直接改好注釋下什么原因﹐謝謝了的
public class AMassPro_V3{
private static String starFname = "F:\\AMassPro_V3.3";
private static String saveFname = "C:\\AMass";
private int bterror = 0;
private static int checkedNum = 0;
JFrame jf = new JFrame("藍牙");
//使用Swing的JFrame組件類
private JLabel jl1 = new JLabel("原工單號");
private JLabel jl2 = new JLabel("新工單號");
private JLabel jl3 = new JLabel("起始號");
private JLabel jl4 = new JLabel("結束號");
private JLabel newjl3 = new JLabel("新起始號");
private JLabel newjl4 = new JLabel("新結束號");
private JLabel jl5 = new JLabel("nextBTAddr");
private JLabel unCheckedDes = new JLabel("未完成工單");
private static JTextField description;//一個JTextField組件原工單號
private static JTextField newDescription;//一個JTextField組件新工單號
private JTextField strAddress;//一個JTextField組件起始號
private JTextField endAddress;//一個JTextField組件結束號
private JTextField newStrAddress;//一個JTextField組件起始號
private JTextField newEndAddress;//一個JTextField組件結束號
private JTextField nextBTAddrField;//下一個開始檢測號碼
private JTextField newNextBTAddrField;//新下一個開始檢測號碼
private JTextField desId;//要查詢的未完成工單號
private static JTextArea errorPro;//測試問題
private JButton openButton;//一個JButton組件開始
private JButton endButton;//一個JButton組件結束
private JButton unCheckButton;//一個JButton組件查看未完成工單
private JButton sfButton;//文件選擇
private JTextField filePath;//文件路徑
JRadioButton newDesRadio=new JRadioButton("新工單",true);
JRadioButton oldDesRadio=new JRadioButton("舊工單");
ButtonGroup radioGroup = new ButtonGroup();
private JPanel jp1 = new JPanel(new FlowLayout());
private JPanel jp2 = new JPanel(new FlowLayout());
private JPanel jp3 = new JPanel(new FlowLayout());
private JPanel jp4 = new JPanel(new FlowLayout());
private JPanel jp5 = new JPanel(new FlowLayout());
private JPanel jp6 = new JPanel(new FlowLayout());
private JPanel jp7 = new JPanel(new FlowLayout());
private JPanel jp8 = new JPanel(new FlowLayout());
/**
* 藍牙輔助程序界面
*
*/
public AMassPro_V3(){
jf.setLayout(null);
//ContenPane = (JPanel) this.getContentPane();
//給JFrame添加一個事件監聽器用來關閉窗口
jf.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
String des = "";
String sAdd = "";
String sEnd = "";
String nextBTAddr = "";
//"請輸入工單號"
description = new JTextField(des);
description.setPreferredSize(new Dimension(120,20));
description.setEditable(false);//設置文本為只讀
newDescription = new JTextField();
newDescription.setPreferredSize(new Dimension(120,20));
strAddress = new JTextField(sAdd);
strAddress.setEditable(false);
strAddress.setPreferredSize(new Dimension(120,20));
endAddress = new JTextField(sEnd);
endAddress.setEditable(false);
endAddress.setPreferredSize(new Dimension(120,20));
newStrAddress = new JTextField();
newStrAddress.setPreferredSize(new Dimension(120,20));
newEndAddress = new JTextField();
newEndAddress.setPreferredSize(new Dimension(120,20));
nextBTAddrField = new JTextField(nextBTAddr);
nextBTAddrField.setEditable(false);
nextBTAddrField.setPreferredSize(new Dimension(120,20));
newNextBTAddrField = new JTextField();
newNextBTAddrField.setPreferredSize(new Dimension(120,20));
desId = new JTextField();
desId.setPreferredSize(new Dimension(120,28));
errorPro = new JTextArea(11,30);
errorPro.setForeground(Color.red);//設置錯誤提示字體顏色為紅
errorPro.setEditable(false);
errorPro.setLineWrap(true);
errorPro.setCaretPosition(errorPro.getText().length());
JScrollPane jScrollPane1 = new JScrollPane(errorPro);
jScrollPane1.setSize(800,200);
openButton = new JButton("開始");
endButton = new JButton("完成");
openButton.addMouseListener(new myMouseListene());
ActionLis listener = new ActionLis();
endButton.addActionListener(listener);
unCheckButton = new JButton("查詢");
UnCheckButtonActionLis unCheckListener = new UnCheckButtonActionLis();
unCheckButton.addActionListener(unCheckListener);
sfButton = new JButton("文件選擇");
SelectFileActionLis selectFileListener = new SelectFileActionLis();
sfButton.addActionListener(selectFileListener);
filePath = new JTextField("請選擇");
filePath.setPreferredSize(new Dimension(180,28));
radioGroup.add(newDesRadio);
radioGroup.add(oldDesRadio);
jp1.add(jl1);
jp1.add(description);
jp1.add(jl2);
jp1.add(newDescription);
jp2.add(jl3);
jp2.add(strAddress);
jp2.add(newjl3);
jp2.add(newStrAddress);
jp3.add(jl4);
jp3.add(endAddress);
jp3.add(newjl4);
jp3.add(newEndAddress);
jp4.add(openButton);
jp4.add(endButton);
jp7.add(unCheckedDes);
jp7.add(desId);
jp7.add(unCheckButton);
jp5.add(jl5);
jp5.add(newNextBTAddrField);
jp5.add(nextBTAddrField);
jp6.add(sfButton);
jp6.add(filePath);
jp8.add(newDesRadio);
jp8.add(oldDesRadio);
jf.add(jp1);
jf.add(jp2);
jf.add(jp3);
jf.add(jp4);
jf.add(jp8);
jf.add(jp7);
jf.add(jp5);
jf.add(jp6);
jf.add(jScrollPane1);
jf.setBounds(100,100,800,600);
jf.setLayout(new GridLayout(11,5));
jf.setSize(800,600);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);//顯示此JFrame
}
...全文
相关推荐
java swing控件演示
当用户点击按钮时,控制台会打印出一条消息。JTable在JScrollPane中,以便在需要时显示滚动条。通过以上内容,你可以了解Java Swing的基本控件以及如何使用`JTable`。
基于Java Swing的简易文本编辑器实战项目
Java Swing作为Java平台中用于构建桌面应用程序图形用户界面(GUI)的核心工具包,自推出以来便以其跨平台性、轻量级组件和高度可定制化特性受到广泛青睐。Swing不依赖本地操作系统资源,所有组件均通过纯Java代码绘制,实现了真正的“一次编写,到处运行”。其基于MVC(模型-视图-控制器)设计模式的架构使得组件逻辑与表现分离,便于扩展与维护。
完整版 Java基础入门教程 Java程序语言设计 05 GUI Swing(共41页).ppt
编写基本的Swing应用程序通常从创建JFrame开始,然后添加组件到内容窗格,设置窗口属性如大小、可见性和关闭行为。例如:```javaimport java.awt.
Java学习资料-界面设计(Swing)-核心精讲
在"Java学习资料-界面设计(Swing)-核心精讲"中,你将学习到如何创建窗口(JFrame)、添加组件、布局管理以及事件处理。JFrame是Swing中的顶级容器,是大多数应用程序的基础。
java仿windows记事本小程序
在这个仿记事本程序中,我们主要用到了JFrame、JTextArea、JScrollPane等Swing组件。1. **JFrame**:这是Java中的窗口类,是应用程序的主要容器。


Java SE
