Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

Help with layout.

$
0
0
Hey guys, I'm creating a Text to HTML generator, but before I get too deep into it, I want the layout sorted. But I have no idea on what layout to use on this. What would you suggest? I want the JTextArea for Basic to be on it's own row, then buttons all on the same, below it. Then for the advanced, I want a JLabel & JTextField pair on the same row, then JTextArea by itself, then all buttons on the same row.

One last question, would I be able to use just 3 buttons for both tabs? Or would I need to make new ones for ActionListener purposes?

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Main1 {
    final static String BUTTONPANEL = "Basic";
    final static String TEXTPANEL = "Advanced";
    
    JButton gen = new JButton("Generate");
    JButton clear = new JButton("Clear");
    JButton exit = new JButton("Exit");
    
    JTextArea text = new JTextArea(20, 40);
    JTextArea advText = new JTextArea(20, 40);
    
    JTextField header = new JTextField(20);
    JTextField footer = new JTextField(20);
    

    public void addComponentToPane(Container pane) {
        JTabbedPane tabbedPane = new JTabbedPane();

        JPanel basic = new JPanel();
        basic.add(text);
        basic.add(gen);
        	gen.addActionListener(new GenerateListener());
        basic.add(clear);
        	clear.addActionListener(new ClearListener());
        basic.add(exit);
        	exit.addActionListener(new ExitListener());

        JPanel adv = new JPanel();
        adv.add(header);
        adv.add(footer);
        adv.add(advText);

        tabbedPane.addTab(BUTTONPANEL, basic);
        tabbedPane.addTab(TEXTPANEL, adv);

        pane.add(tabbedPane, BorderLayout.CENTER);
    }

    private static void createAndShowGUI() {
        JFrame frame = new JFrame("Text to HTML Generater");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Main1 html = new Main1();
        html.addComponentToPane(frame.getContentPane());

        frame.pack();
        frame.setVisible(true);
    }
    
    private class GenerateListener implements ActionListener {
    	public void actionPerformed(ActionEvent e) {
    		// Generate .html file.
    	}
    }
    
    private class ClearListener implements ActionListener {
    	public void actionPerformed(ActionEvent e) {
    		// Clear text area.
    	}
    }
    
    private class ExitListener implements ActionListener {
    	public void actionPerformed(ActionEvent e) {
    		System.exit(0);
    	}
    }

    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}

Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>