1
다양한 텍스트 파일을 완성 된 노트북으로 이미 컴파일 한 프로그램의 GUI를 작성하려고합니다. 이 GUI의 한 기능은 스크롤 창에 여러 파일 탐색 텍스트 영역과 버튼이 있으며 더하기 또는 빼기 버튼으로 더 많은 것을 추가하거나 제거 할 수 있다는 것입니다.자바 스윙 텍스트 필드 높이
기본 크기를 설정하더라도 텍스트 영역이 나머지 공간을 차지하도록 기본값 설정되어 있습니다. 단추와 같은 높이이거나 그 근처에있을 수있는 방법이 있습니까?
내 GUI가 지금 모습입니다.
다음은 내 코드입니다.import javax.swing.*;
import java.awt.*;
import java.util.*;
public class GUI {
public static void main(String[] args) {
JFrame frame = new JFrame("Notebook Builder");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel contentPanel = new JPanel();
contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.X_AXIS));
contentPanel.setPreferredSize(new Dimension(860, 500));
JPanel leftPanel = new JPanel();
leftPanel.setLayout(new BorderLayout());
leftPanel.setPreferredSize(new Dimension(480, 500));
JScrollPane rightPanel = new JScrollPane();
rightPanel.setPreferredSize(new Dimension(480, 500));
frame.getContentPane().add(contentPanel);
contentPanel.add(leftPanel);
contentPanel.add(rightPanel);
JPanel headerPanel = new JPanel();
JLabel headerLabel = new JLabel("Directories");
headerLabel.setFont(new Font("serif", Font.BOLD, 32));
headerPanel.add(headerLabel);
JPanel directoryBrowserPanel = new JPanel();
directoryBrowserPanel.setLayout(new BoxLayout(directoryBrowserPanel, BoxLayout.Y_AXIS));
JScrollPane directoryBrowserPanelView = new JScrollPane(directoryBrowserPanel);
JPanel addOrRemoveButtonPanel = new JPanel();
addOrRemoveButtonPanel.setLayout(new BoxLayout(addOrRemoveButtonPanel, BoxLayout.X_AXIS));
JButton remove = new JButton("-");
JButton add = new JButton("+");
JPanel directoryBrowserFieldPanel = new JPanel();
directoryBrowserFieldPanel.setLayout(new BoxLayout(directoryBrowserFieldPanel, BoxLayout.X_AXIS));
JTextField filePathField = new JTextField();
JButton fileChooseButton = new JButton("Browse");
directoryBrowserFieldPanel.add(filePathField);
directoryBrowserFieldPanel.add(fileChooseButton);
addOrRemoveButtonPanel.add(remove);
addOrRemoveButtonPanel.add(Box.createRigidArea(new Dimension(80, 0)));
addOrRemoveButtonPanel.add(add);
directoryBrowserPanel.add(directoryBrowserFieldPanel);
directoryBrowserPanel.add(addOrRemoveButtonPanel);
JPanel buildButtonPanel = new JPanel();
JButton buildButton = new JButton("Build Notebook");
buildButton.setFont(new Font("serif", Font.PLAIN ,12));
buildButtonPanel.add(BorderLayout.CENTER, buildButton);
leftPanel.add(BorderLayout.NORTH, headerPanel);
leftPanel.add(BorderLayout.CENTER, directoryBrowserPanelView);
leftPanel.add(BorderLayout.SOUTH, buildButtonPanel);
frame.pack();
frame.setVisible(true);
}
}
죄송합니다. 간단한 질문 인 경우 Java의 콘솔 프로그램에서 처음으로 이탈하는 것입니다.
고마워요.
시작을 살펴 보시기 바랍니다 [나는 세트의 사용을 피해야한다 (을 선호 | 최대 | 최소)? 자바 스윙의 크기 방법 (http://stackoverflow.com/questions/7229226/should-i-avoid-the-use-of-setpreferredmaximumminimumize-methods-in-java-swi) 그런 다음 'LayoutManager' 이외의'BoxLayout' 같은 것을 사용하는 것을 고려해보십시오. FlowLayout 또는 심지어 GridBagLayout 예 : – MadProgrammer
FlowLayout가 작동합니다. 감사. 레이아웃 관리자가 다른 관리자의 키를 처리하는 방식 때문인 것 같네요? 나는 또한 선호하는 높이를 사용하지 않았다. – user1472065
그것이 효과가 있다면,이 사이트에 대한 미래의 방문자를 돕기 위해 자신의 질문에 대답 할 수 있습니다. –