나는 애플릿이 (그리고 이것은 SSCCE입니다) :이 GUI의 크기를 어떻게 설정할 수 있습니까?
package tutoringcalculator;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.*;
public class TutoringCalculator extends JApplet {
private JPanel _root;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("Tutoring Calculator");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JApplet applet = new TutoringCalculator();
applet.init();
frame.setContentPane(applet.getContentPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
applet.start();
}
});
}
private JPanel swingContainer;
@Override
public void init() {
swingContainer = new JPanel(new BorderLayout());
add(swingContainer, BorderLayout.CENTER);
createScene();
setSize(600, 400);
}
private void createScene() {
JLabel lbl;
JTextField txt;
_root = new JPanel(new FlowLayout());
// build the session minutes
lbl = new JLabel();
lbl.setText("Session Minutes:");
_root.add(lbl);
txt = new JTextField();
_root.add(txt);
swingContainer.add(_root);
}
}
내가 600x400으로 크기를 설정하고 싶습니다 -하지만 난 applet
에 setSize(600, 400)
, frame
, swingContainer
및 _root
아무것도를 발행했습니다 변경.
일반적으로 애플릿의 높이는 HTML에 설정됩니다. 귀하의 경우가 '비정형'이기 때문에 좀 더 자세히 살펴 봐야 할 것입니다. –
애플릿은 html 태그의 크기를 가져옵니다 – MadProgrammer
'pack'은 콘텐츠 창의'preferredSize'를 사용하려고합니다 (모든 구성 요소가 배치되었습니다). 이 경우, 프레임 생성 코드 내에서 수동으로 애플릿의 컨텐트 영역의 기본 크기를 설정해야 할 수도 있습니다. 이것은 최상위 컨테이너에 컨트롤을 직접 추가해서는 안되며 대신 필요한 경우 추가/이식 할 수있는 일종의 컨테이너 (예 : JPanel)를 사용해야하는 이유 중 하나입니다. - IMHO – MadProgrammer