我正在GridLayout
创建一个简单的窗口,这是我的代码:
package com.company.app;
import javax.swing.*;
import java.awt.*;
public class SpamGUI {
public static void main(String[] args) {
System.out.println("Loading Program..");
JFrame frame = new JFrame("My awesome Program");
frame.setVisible(true);
frame.setSize(800, 200);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(0, 3));
panel.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
JLabel lblTrainPath = new JLabel("Enter Training Folder Path");
lblTrainPath.setSize(100,10);
panel.add(lblTrainPath);
JTextField txtTrainPath = new JTextField();
txtTrainPath.setSize(100,10);
panel.add(txtTrainPath);
JButton btnTrainPath = new JButton("Select");
panel.add(btnTrainPath);
JLabel lblTrainPath3 = new JLabel("Enter Training3 Folder Path");
panel.add(lblTrainPath3);
JTextField txtTestPath = new JTextField();
panel.add(txtTestPath);
JButton btnTestPath = new JButton("Select");
panel.add(btnTestPath);
frame.add(panel);
}
}
它生成如下屏幕:
正如您所看到的,它不尊重组件的大小,在屏幕上显示相当广泛。此外,当我从INtelliJ IDEA运行程序时,除非我调整屏幕大小,否则它不会渲染组件。
我还想要一个固定大小的窗口,其中包含自定义大小的组件。
请指导
答案 0 :(得分:1)
Font
类允许您指定字体大小。
因此,要创建字体,您应该像这样编码:
Font f = new Font("serif", Font.PLAIN, fontSize);
fontSize
参数将决定Font
的大小
所以,在这里输入你想要的字体大小..之后将字体实例变量f
设置为你的JLabel
实例变量,如下所示:
lblTrainPath.setFont(f);
并且具有自定义大小的组件。
你应该尝试pack()
而不是frame.setSize(800,200)
将所有组件添加到框架后使用此pack()
,使用setResizable(false)
... {/ p>固定尺寸窗口