【发布时间】:2015-11-10 11:41:24
【问题描述】:
我一直在尝试为我的编程语言编写一个基本的 IDE,但我对 JFrames 没有太多经验。我正在尝试设置它,使窗口有一个主标题,然后在它下面有两个文本区域。我可以把标题全部整理出来;它只是在窗口中居中的 3 个标签。但我无法让这两个文本区域工作。到目前为止我只尝试过一个,我已经看到很多错误的东西。每当我调整窗口大小时,它不会停留在标题下方(这是一个盒子布局),而是在它旁边。我还想让它在窗口改变大小时增加文本区域的大小。这是我目前的代码(只有一个文本区域)。
JFrame frame = new JFrame("DotDotIO");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout());
frame.setPreferredSize(new Dimension(800,600));
frame.setMinimumSize(new Dimension(600,450));
Box titleText = Box.createHorizontalBox();
JLabel title = new JLabel("<html><span style='color: teal;'>DotDotIO</span></html>");
title.setFont (title.getFont().deriveFont(64.0f));
JLabel version = new JLabel("<html> Version 1.0<br>Created by Luke Carr</html>");
JLabel slogan = new JLabel("<html>Full Potential<br>Minimal Knowledge</html>");
titleText.add(version);
titleText.add(title);
titleText.add(slogan);
titleText.setAlignmentX(frame.getWidth() / 2);
Box inputContent = Box.createHorizontalBox();
JTextArea code = new JTextArea(35,65);
code.setEditable(true);
code.setBorder(null);
inputContent.add(code);
frame.add(titleText);
frame.add(inputContent);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
我目前已将其设置为文本区域具有固定大小,但我希望将其设置为左侧文本区域的宽度为屏幕的 65%,右侧文本区域占屏幕的 15%屏幕,两边各有 5% 的边距,两者之间有 5% 的边距。最后一点是,我的语言当前解释代码的方式是通过一个文件,然后循环遍历每一行。我怎样才能使用左侧文本区域中输入的所有代码来执行此操作?
目前我拥有的:
很抱歉问了这么多问题。虽然我做 Java 已经很长时间了,但 JFrames 从来没有真正出现过,我对它们很陌生。
【问题讨论】:
-
Java 不是 Javascript。 Laying out a GUI with Swing 与使用 HTML 和 Javascript 布局页面完全不同。
-
“很抱歉问了这么多问题。”鉴于这是一个问答网站,问题是必要的而不是我们需要道歉的东西.问很多问题也可以,只要每个问题都是独立的、经过充分研究和仔细编写的。
标签: java swing jframe layout-manager jtextarea