java Swing布局中JFrame添加new JScrollPane(JTextArea)控制大小

rachel_tang rachel_tang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
需要大家幫忙處理的是 在布局中將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`。

cdever

基于Java Swing的简易文本编辑器实战项目

Java Swing作为Java平台中用于构建桌面应用程序图形用户界面(GUI)的核心工具包,自推出以来便以其跨平台性、轻量级组件和高度可定制化特性受到广泛青睐。Swing不依赖本地操作系统资源,所有组件均通过纯Java代码绘制,实现了真正的“一次编写,到处运行”。其基于MVC(模型-视图-控制器)设计模式的架构使得组件逻辑与表现分离,便于扩展与维护。

wx1bff85f55b403198

完整版 Java基础入门教程 Java程序语言设计 05 GUI Swing(共41页).ppt

编写基本的Swing应用程序通常从创建JFrame开始,然后添加组件到内容窗格,设置窗口属性如大小、可见性和关闭行为。例如:```javaimport java.awt.

passionSnail

Java学习资料-界面设计(Swing)-核心精讲

在"Java学习资料-界面设计(Swing)-核心精讲"中,你将学习到如何创建窗口(JFrame)、添加组件、布局管理以及事件处理。JFrame是Swing中的顶级容器,是大多数应用程序的基础。

shuchong159

java仿windows记事本小程序

在这个仿记事本程序中,我们主要用到了JFrame、JTextArea、JScrollPane等Swing组件。1. **JFrame**:这是Java中的窗口类,是应用程序的主要容器。

weixin_38703295
评论 4
收藏 已收藏
分享
返回顶部
rachel_tang
Java SE 62,620 成员 307,251 内容