Java Swing — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
Строка 62: Строка 62:
 
public static void main (String [] args) {
 
public static void main (String [] args) {
 
JFrame myWindow = new SimpleWindowButton();
 
JFrame myWindow = new SimpleWindowButton();
 +
myWindow.setVisible(true);
 +
}
 +
}
 +
</source>
 +
 +
== 4. Layouts ==
 +
 +
<source lang="java">
 +
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);
 
myWindow.setVisible(true);
 
}
 
}
 
}
 
}
 
</source>
 
</source>

Версия 10:48, 25 апреля 2012

Что почитать

Ссылка 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);
	}
}