Java Swing

Материал из SEWiki
Перейти к: навигация, поиск

Что почитать

Ссылка 1

Ссылка 2

Ссылка 3

1. TestFrame

import javax.swing.*;

public class testFrame {
	public static void main (String [] args) {
		JFrame myWindow = new JFrame("Пробное окно");
		myWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		myWindow.setSize(400, 300);
		myWindow.setVisible(true);
	}
}

2. TestFrame2

import javax.swing.JFrame;

class SimpleWindow extends JFrame {
	SimpleWindow() {
		super("Пробное окно");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(400, 300);
	}
}

public class testFrame2 {
	public static void main (String [] args) {
		JFrame myWindow = new SimpleWindow();
		myWindow.setVisible(true);
	}
}

3. Button

import javax.swing.JButton;
import javax.swing.JFrame;

class SimpleWindowButton extends JFrame {
	SimpleWindowButton() {
		super("Пробное окно");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(400, 300);
		JButton newButton = new JButton("Жмакни меня");
		getContentPane().add(newButton);
	}
}

public class testFrameButton {
	public static void main (String [] args) {
		JFrame myWindow = new SimpleWindowButton();
		myWindow.setVisible(true);
	}
}

4. Layouts

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;

class SimpleWindowFlow extends JFrame {
	SimpleWindowFlow() {
		super("Пробное окно");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(400, 300);
		JPanel panel = new JPanel();
		panel.setLayout(new FlowLayout());
		panel.add(new JButton("Кнопка"));
		panel.add(new JButton("+"));
		panel.add(new JButton("-"));
		panel.add(new JButton("Кнопка с длинной надписью"));
		setContentPane(panel);
	}
}

class SimpleWindowBorder extends JFrame {
	SimpleWindowBorder() {
		super("Пробное окно");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(400, 300);
		getContentPane().add(new JButton("NORTH"), BorderLayout.NORTH);
		getContentPane().add(new JButton("EAST"), BorderLayout.EAST);
		getContentPane().add(new JButton("SOUTH"), BorderLayout.SOUTH);
		getContentPane().add(new JButton("WEST"), BorderLayout.WEST);
		getContentPane().add(new JButton("В ЦЕНТР!"));
	}
}

class SimpleWindowGrid extends JFrame {
	SimpleWindowGrid() {
		super("Пробное окно");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(400, 300);
		JPanel panel = new JPanel();
		panel.setLayout(new GridLayout(2, 3, 5, 10));
		panel.add(new JButton("Кнопка"));
		panel.add(new JButton("+"));
		panel.add(new JButton("-"));
		panel.add(new JButton("Кнопка с длинной надписью"));
		panel.add(new JButton("еще кнопка"));
		setContentPane(panel);
	}	
}


class SimpleWindowBox extends JFrame {
	SimpleWindowBox() {
		super("Пробное окно");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//		setSize(400, 300);
		Box box = Box.createVerticalBox();
		box.add(new JButton("Кнопка"));
		box.add(Box.createVerticalStrut(10));
		box.add(new JButton("+"));
		box.add(Box.createVerticalGlue());
		
		JButton rightButton = new JButton("-");
		rightButton.setAlignmentX(JComponent.RIGHT_ALIGNMENT); 
		box.add(rightButton);
		
		box.add(Box.createVerticalStrut(10));
		box.add(new JButton("Кнопка с длинной надписью"));
		setContentPane(box);
		pack();
	}	
}

class SimpleWindowManual extends JFrame {
	SimpleWindowManual() {
		super("Пробное окно");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(400, 300);
		JPanel panel = new JPanel();
		panel.setLayout(null);
		JButton button = new JButton("Кнопка");
		button.setSize(80, 30);
		button.setLocation(20,20);
		panel.add(button);
		button = new JButton("Кнопка с длинной надписью");
		button.setSize(120, 40);
		button.setLocation(70,50);
		panel.add(button);
		setContentPane(panel);
	}	
}

public class testFramePanel {
	public static void main (String [] args) {
		JFrame myWindow = new SimpleWindowBorder();
		myWindow.setVisible(true);
	}
}