我刚刚开始学习Java,我想制作一个显示7表的基本gui。
这是我的代码:
import javax.swing.*;
import java.awt.*;
public class test {
private JFrame f;
private JPanel p;
private JLabel lab;
private JLabel lab1;
private JLabel lab2;
public test() {
gui();
}
public void gui() {
{
f = new JFrame ("table of 7");
f.setVisible(true);
f.setSize(200,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p = new JPanel();
p.setBackground(Color.YELLOW);
lab = new JLabel("1 x 7 = 7" );
lab1 = new JLabel("2 x 7 = 21");
lab2 = new JLabel("3 x 7 = 28");
p.add(lab); p.add(lab1); p.add(lab2);
f.add(p);
}
}
public static void main(String[] args) {
new test();
}
}
问题是我想在一个整齐的列中显示表,我在单个字符串中尝试了/ n但这不起作用。
答案 0 :(得分:0)
问题是我想在一个整洁的列中显示表
他们需要使用等宽字体。
可能是这样的:
label.setFont( new Font("monospaced", Font.PLAIN, 12) );
您需要为所有标签执行此操作。
或者显示数据的一种更简单的方法是使用JTextArea然后你可以做类似的事情:
JTextArea textArea - new JTextArea(10, 20);
textArea.setFont(...);
textArea.append("1 x 7 = 7");
textArea.append("\n2 x 7 = 14");
答案 1 :(得分:0)
您可以使用JTextArea
并将其设置为不可编辑,因此它看起来像标签,您也可以更改其背景颜色
示例:
JTextArea textArea = new JTextArea();
textArea.setEditable(false);
textArea.setBackground(Color.gray.brighter());
textArea.setText("1*7=7\n2*7=14");