简体   繁体   中英

Scrolling Text Pane JFrame Java

I'm trying to create a sort of log of all the keys hit, at the moment I just need to figure out how to either:

Link the position of the "text" to the scroll bar to the right

OR

Add a different component which is suited better to hold large amounts of multiple line text.

What am I doing wrong here? Thanks!

public class MacroMakerGui extends JFrame {

public static final long serialVersionUID = 1L;
public static JPanel contentPane;
public static JTextField textField = new JTextField();;
public static MacroKeyListener keylistener = new MacroKeyListener(textField);

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                MacroMakerGui frame = new MacroMakerGui();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public MacroMakerGui() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 126, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(null);
    setContentPane(contentPane);

    JButton btnNewButton = new JButton("Record Macro");
    btnNewButton.setBounds(10, 220, 99, 30);

    contentPane.add(btnNewButton, null);

    textField.setBounds(10, 189, 99, 20);
    contentPane.add(textField);
    textField.setColumns(10);

    JEditorPane editorPane = new JEditorPane();
    editorPane.setBounds(10, 11, 84, 153);
    contentPane.add(editorPane);

    JScrollBar scrollBar = new JScrollBar();
    scrollBar.setBounds(93, 11, 17, 153);
    contentPane.add(scrollBar);

    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            btnNewButton.addKeyListener(keylistener);
        }
    });
}

}

Instead of JScrollBar, use JScrollPanel. Add that to the contentPane, and add your editorPane as a chiled of the JScrollPanel.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM