Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import java.awt.*;
- import javax.swing.event.*;
- import java.awt.event.*;
- public class HistoryEditor extends JFrame{
- public static Color randomColor(){
- return new Color((float)Math.random(), (float)Math.random(), (float)Math.random());
- }
- public HistoryEditor(){
- setLayout(new BorderLayout());
- final JPanel mainPanel = new JPanel();
- mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
- JPanel controlPanel = new JPanel(new FlowLayout());
- final JTextField tf = new JTextField(20);
- JButton addVertical = new JButton("Add Vertical");
- JButton addHorizontal = new JButton("Add Horizontal");
- JButton removeVertical = new JButton("Remove Vertical");
- addVertical.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e){
- JPanel newPanel = new JPanel();
- newPanel.setPreferredSize( new Dimension(getWidth(), 50) );
- newPanel.setMaximumSize( newPanel.getPreferredSize() );
- newPanel.setMinimumSize( newPanel.getPreferredSize() );
- newPanel.setBackground( HistoryEditor.randomColor() );
- newPanel.setLayout( new BoxLayout( newPanel, BoxLayout.X_AXIS ) );
- JPanel eventPanel = new JPanel();
- eventPanel.setBackground( HistoryEditor.randomColor() );
- eventPanel.setMaximumSize( new Dimension(50, newPanel.getHeight() ) );
- eventPanel.setMinimumSize( new Dimension(50, newPanel.getHeight() ) );
- eventPanel.setPreferredSize( new Dimension(50, newPanel.getHeight() ) );
- eventPanel.add( new JLabel( tf.getText() ) );
- eventPanel.revalidate();
- newPanel.add(eventPanel);
- newPanel.revalidate();
- mainPanel.add( newPanel );
- mainPanel.revalidate();
- mainPanel.repaint();
- eventPanel.repaint();
- }
- });
- addHorizontal.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e){
- try{
- int index = Integer.parseInt(tf.getText());
- JPanel selectedPanel = (JPanel)mainPanel.getComponent( index );
- JPanel eventPanel = new JPanel();
- eventPanel.setBackground( HistoryEditor.randomColor() );
- eventPanel.setMaximumSize(new Dimension(50, selectedPanel.getHeight()));
- eventPanel.setMinimumSize(new Dimension(50, selectedPanel.getHeight()));
- eventPanel.add( new JLabel( tf.getText() ) );
- selectedPanel.add(eventPanel);
- selectedPanel.revalidate();
- selectedPanel.repaint();
- }catch(Exception ex){}
- }
- });
- removeVertical.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e){
- try{
- int index = Integer.parseInt(tf.getText());
- mainPanel.remove(index);
- mainPanel.revalidate();
- mainPanel.repaint();
- }catch(Exception ex){}
- }
- });
- controlPanel.add(tf);
- controlPanel.add(addVertical);
- controlPanel.add(addHorizontal);
- controlPanel.add(removeVertical);
- add(mainPanel, BorderLayout.CENTER);
- add(controlPanel, BorderLayout.SOUTH);
- setSize(1000, 1000);
- setVisible(true);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public static void main(String[]args){
- HistoryEditor he = new HistoryEditor();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement