Boa tarde a todos, seguindo meus tutoriais básicos e objetivos de Java, vamos agora brincar um pouco com interface gráfica. Vamos criar algumas janelas usando o Swing e brincar um pouco com as propriedades delas:
Requisitos
1. JRE e JDK instaladas. Caso não tenha clique aqui
2. Qualquer editor que colori o código para você. Pode ser até o Notepad, mas não recomendo. Caso não tenha um clique aqui
Bom, Swing é um pacote que contém uma serie de componentes visuais do Java, ele vem do AWT, que... e... e mais um blah blah blah que parece romance de Shakespeare...
O importante é você saber que Swing é um componente e se você vai usar qualquer coisa dele você tem que importar/incluir ele para sua classe usando import
import javax.swing.*;
Após importar esse pacote você poderá utilizar tudo que tem dentro dele.
A partir dai podemos trabalhar com janelas, que é o tema deste tópico, construindo elas é setando as propriedades delas, é tão facil como controlar tags html através de css só que o jeito de escrever é totalmente diferente e tem maiores "funcionalidades".
Quando você estiver trabalhando com Swing você pode entender a palavra janela como JFrame.Janela simples
1.Abra o seu editor
2.Importe os componentes do Swing
import javax.swing.*; //Importa todos os pacotes gráficos do swing
3.Inicie uma classe
public class JFrame_simples extends JFrame { // aplicativo
}
4.Extenda ela do componente JFrame que vem lá daquele pacote javax.swing que você importou
public class JFrame_simples extends JFrame { // aplicativo
}
5.Crie um metodo construtor com o mesmo nome da sua classe
public JFrame_simples() {
}
6."Herde o conteudo" JFrame com um super e altere o nome da janela
public JFrame_simples() {
super("janela teste"); //define o titulo da aplicação
}
7.Insira as proriedades basicas da janela, ou seja tamanho e visibilidade
public JFrame_simples() {
super("janela teste"); //define o titulo da aplicação
setSize(300,300);
setVisible(true);
}
8.Construa um metodo main para iniciar a aplicação
public static void main(String args[]){
}
9.Chame sua classe (aplicação) dentro do metodo main
public static void main(String args[]){
JFrame_simples app = new JFrame_simples(); // Objeto app que decende da classe JFrame_simples instância o conteúdo do Método Teste pois ele é o construtor da classe.
}
10.Defina como a aplicação irá se comportar quando alguém tentar fechar ela
public static void main(String args[]){
JFrame_simples app = new JFrame_simples(); // Objeto app que decende da classe JFrame_simples instância o conteúdo do Método Teste pois ele é o construtor da classe.
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Seta o comportamento ao usuário fechar a janela
/* HIDE_ON_CLOSE = Quando o usuário fechar o programa vai sumir, mas continuará em execução
* DO_NOTHING_ON_CLOSE = Não fecha
* DIPOSE_ON_CLOSE = Libera da memoria quando o usuario tentar fechar tanto o aplicativo quanto os componentes depois fica invissivel
* EXIT_ON_CLOSE = fecha normal
*/
}
Pronto, no final o código fica assim:
public class JFrame_simples extends JFrame { // aplicativo
// Metodo construtor, que constroi a janela
public JFrame_simples() {
super("janela teste"); //define o titulo da aplicação
setSize(300,300);
setVisible(true);
}
// Main: chama a janela iniciando a aplicação
public static void main(String args[]){
JFrame_simples app = new JFrame_simples(); // Objeto app que decende da classe JFrame_simples instância o conteúdo do Método Teste pois ele é o construtor da classe.
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Seta o comportamento ao usuário fechar a janela
/* HIDE_ON_CLOSE = Quando o usuário fechar o programa vai sumir, mas continuará em execução
* DO_NOTHING_ON_CLOSE = Não fecha
* DIPOSE_ON_CLOSE = Libera da memoria quando o usuario tentar fechar tanto o aplicativo quanto os componentes depois fica invissivel
* EXIT_ON_CLOSE = fecha normal
*/
}
// junin
}
Agora vamos testar:
1.Salve como JFrame_simples.java em C:/
2.Abra o cmd, navegue até o c:/ e digite javac JFrame_simples.java
Deu pau?!
E agora José???
Identificação de erros é uma das, se não a, parte mais importante de se programar em Java. Você deve ter se assustado com o tamanho da msg de erro que apareceu, mas não se preocupe, essa é pequena tem StackTrace (msg de erro) que dão medo até nos mortos.
Mas o importante normalmente é curtinho, nesse caso é só isso aqui
JFrame_simples.java:11: cannot find symbol
symbol: class JFrame
O interpretador tá dizendo que não encontrou o simbolo JFrame, na linha
public class JFrame_simples extends JFrame {
Isso porque não importamos o swing no nosso código, para usar qualquer coisa do swing, temos que importar o swing.
Então vamos lá:
import javax.swing.*;
public class JFrame_simples extends JFrame { // aplicativo
// Metodo construtor, que constroi a janela
public JFrame_simples() {
super("janela teste"); //define o titulo da aplicação
setSize(300,300);
setVisible(true);
}
// Main: chama a janela iniciando a aplicação
public static void main(String args[]){
JFrame_simples app = new JFrame_simples(); // Objeto app que decende da classe JFrame_simples instância o conteúdo do Método Teste pois ele é o construtor da classe.
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Seta o comportamento ao usuário fechar a janela
/* HIDE_ON_CLOSE = Quando o usuário fechar o programa vai sumir, mas continuará em execução
* DO_NOTHING_ON_CLOSE = Não fecha
* DIPOSE_ON_CLOSE = Libera da memoria quando o usuario tentar fechar tanto o aplicativo quanto os componentes depois fica invissivel
* EXIT_ON_CLOSE = fecha normal
*/
}
}
Compile denovo (javac)
Digite java -cp c:; JFrame_simples
Propriedades de comportamento da janela
Agora vamos brincar com algumas propriedades para abertura e personalizacao de janelas
Janela maximizada/minimizada
import javax.swing.*; //Importa todos os pacotes gráficos do swing
public class JFrame_centralizado extends JFrame { // aplicativo
// Metodo construtor, que constroi a janela
public JFrame_centralizado() {
super("janela teste"); //define o titulo da aplicação
setSize(300,300); // define o tamanho
setVisible(true); /// define se a janela é vissivel
setLocationRelativeTo(null);
}
// Main: chama a janela iniciando a aplicação
public static void main(String args[]){
JFrame_centralizado app = new JFrame_centralizado(); // Objeto app que decende do metodo Teste instancia o conteudo do Metodo Teste
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Seta o comportamento ao usuário fechar a janela
/* HIDE_ON_CLOSE = Quando o usuário fechar o programa vai sumir, mas continuará em execução
* DO_NOTHING_ON_CLOSE = Não fecha
* DIPOSE_ON_CLOSE = Libera da memoria quando o usuario tentar fechar tanto o aplicativo quanto os componentes depois fica invissivel
* EXIT_ON_CLOSE = fecha normal
*/
}
}
Janela com tamanho fixo
import javax.swing.*; //Importa todos os pacotes gráficos do swing
public class JFrame_fixo extends JFrame { // aplicativo
// Metodo construtor, que constroi a janela
public JFrame_fixo() {
super("janela teste"); //define o titulo da aplicação
setSize(300,300); // define o tamanho
setVisible(true); /// define se a janela é vissivel
setResizable(false); // define que o tamanho da janela não pode ser alterado
}
// Main: chama a janela iniciando a aplicação
public static void main(String args[]){
JFrame_fixo app = new JFrame_fixo(); // Objeto app que decende do metodo Teste instancia o conteudo do Metodo Teste
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Seta o comportamento ao usuário fechar a janela
/* HIDE_ON_CLOSE = Quando o usuário fechar o programa vai sumir, mas continuará em execução
* DO_NOTHING_ON_CLOSE = Não fecha
* DIPOSE_ON_CLOSE = Libera da memoria quando o usuario tentar fechar tanto o aplicativo quanto os componentes depois fica invissivel
* EXIT_ON_CLOSE = fecha normal
*/
}
}
Janela centralizada
import javax.swing.*; //Importa todos os pacotes gráficos do swing
public class JFrame_centralizada extends JFrame {
// Metodo construtor, que constroi a janela
public JFrame_centralizada() {
super("janela teste"); //define o titulo da aplicação
setSize(300,300); // define o tamanho
setVisible(true); // define se a janela é vissivel
setLocationRelativeTo(null); // define que a janela vai abrir no centro da tela
}
// Main: chama a janela iniciando a aplicação
public static void main(String args[]){
JFrame_centralizada app = new JFrame_centralizada(); // Objeto app que decende do metodo Teste instancia o conteudo do Metodo Teste
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Seta o comportamento ao usuário fechar a janela
/* HIDE_ON_CLOSE = Quando o usuário fechar o programa vai sumir, mas continuará em execução
* DO_NOTHING_ON_CLOSE = Não fecha
* DIPOSE_ON_CLOSE = Libera da memoria quando o usuario tentar fechar tanto o aplicativo quanto os componentes depois fica invissivel
* EXIT_ON_CLOSE = fecha normal
*/
}
}
Janela com cor de fundo
import javax.swing.*; //Importa todos os pacotes gráficos do swing
import java.awt.*; // Importa o awt pois vamos usar objetos do tipo Container que está no pacote awt
public class JFrame_background extends JFrame {
// Metodo construtor, que constroi a janela
public JFrame_background() {
super("janela teste"); //define o titulo da aplicação
Container janela = getContentPane(); // constroi o oobjetoo janela como sendo um container
janela.setBackground(Color.black); // seta a propriedade do container janela
/* janela.setBackground(new Color(255,150,150)); // seta cor personalizada em rgb */
setSize(300,300); // define o tamanho
setVisible(true); // define se a janela é vissivel
setLocationRelativeTo(null); // define que a janela vai abrir no centro da tela
}
// Main: chama a janela iniciando a aplicação
public static void main(String args[]){
JFrame_background app = new JFrame_background(); // Objeto app que decende do metodo Teste instancia o conteudo do Metodo Teste
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Seta o comportamento ao usuário fechar a janela
/* HIDE_ON_CLOSE = Quando o usuário fechar o programa vai sumir, mas continuará em execução
* DO_NOTHING_ON_CLOSE = Não fecha
* DIPOSE_ON_CLOSE = Libera da memoria quando o usuario tentar fechar tanto o aplicativo quanto os componentes depois fica invissivel
* EXIT_ON_CLOSE = fecha normal
*/
}
}
Janela com icone personalizado
import javax.swing.*; //Importa todos os pacotes gráficos do swing
import java.awt.*; // Importa o awt pois vamos usar objetos do tipo Container que está no pacote awt
public class JFrame_icone extends JFrame {
// Metodo construtor, que constroi a janela
public JFrame_icone() {
super("janela teste"); //define o titulo da aplicação
Container janela = getContentPane(); // constroi o oobjetoo janela como sendo um container
janela.setBackground(Color.black); // seta a propriedade do container janela
/* janela.setBackground(new Color(255,150,150)); // seta cor personalizada em rgb */
ImageIcon icone = new ImageIcon("img/icone.png"); // seta o icone a ser usado
setIconImage(icone.getImage());
setSize(300,300); // define o tamanho
setVisible(true); // define se a janela é vissivel
setLocationRelativeTo(null); // define que a janela vai abrir no centro da tela
}
// Main: chama a janela iniciando a aplicação
public static void main(String args[]){
JFrame_icone app = new JFrame_icone(); // Objeto app que decende do metodo Teste instancia o conteudo do Metodo Teste
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Seta o comportamento ao usuário fechar a janela
/* HIDE_ON_CLOSE = Quando o usuário fechar o programa vai sumir, mas continuará em execução
* DO_NOTHING_ON_CLOSE = Não fecha
* DIPOSE_ON_CLOSE = Libera da memoria quando o usuario tentar fechar tanto o aplicativo quanto os componentes depois fica invissivel
* EXIT_ON_CLOSE = fecha normal
*/
}
}
Bom por enquanto é isso pessoal, quem quiser pode baixar os exemplos em anexo
Pergunta
Norivan Oliveira
Boa tarde a todos, seguindo meus tutoriais básicos e objetivos de Java, vamos agora brincar um pouco com interface gráfica. Vamos criar algumas janelas usando o Swing e brincar um pouco com as propriedades delas:
Requisitos
1. JRE e JDK instaladas. Caso não tenha clique aqui
2. Qualquer editor que colori o código para você. Pode ser até o Notepad, mas não recomendo. Caso não tenha um clique aqui
Bom, Swing é um pacote que contém uma serie de componentes visuais do Java, ele vem do AWT, que... e... e mais um blah blah blah que parece romance de Shakespeare...
O importante é você saber que Swing é um componente e se você vai usar qualquer coisa dele você tem que importar/incluir ele para sua classe usando import
Após importar esse pacote você poderá utilizar tudo que tem dentro dele. A partir dai podemos trabalhar com janelas, que é o tema deste tópico, construindo elas é setando as propriedades delas, é tão facil como controlar tags html através de css só que o jeito de escrever é totalmente diferente e tem maiores "funcionalidades". Quando você estiver trabalhando com Swing você pode entender a palavra janela como JFrame. Janela simples 1.Abra o seu editor 2.Importe os componentes do Swing 3.Inicie uma classe 4.Extenda ela do componente JFrame que vem lá daquele pacote javax.swing que você importou 5.Crie um metodo construtor com o mesmo nome da sua classe 6."Herde o conteudo" JFrame com um super e altere o nome da janela 7.Insira as proriedades basicas da janela, ou seja tamanho e visibilidade 8.Construa um metodo main para iniciar a aplicação 9.Chame sua classe (aplicação) dentro do metodo main 10.Defina como a aplicação irá se comportar quando alguém tentar fechar ela Pronto, no final o código fica assim: Agora vamos testar: 1.Salve como JFrame_simples.java em C:/ 2.Abra o cmd, navegue até o c:/ e digite javac JFrame_simples.java Deu pau?! E agora José??? Identificação de erros é uma das, se não a, parte mais importante de se programar em Java. Você deve ter se assustado com o tamanho da msg de erro que apareceu, mas não se preocupe, essa é pequena tem StackTrace (msg de erro) que dão medo até nos mortos. Mas o importante normalmente é curtinho, nesse caso é só isso aqui O interpretador tá dizendo que não encontrou o simbolo JFrame, na linha Isso porque não importamos o swing no nosso código, para usar qualquer coisa do swing, temos que importar o swing. Então vamos lá: Compile denovo (javac) Digite java -cp c:; JFrame_simples Propriedades de comportamento da janela Agora vamos brincar com algumas propriedades para abertura e personalizacao de janelas Janela maximizada/minimizada Janela com tamanho fixo Janela centralizada Janela com cor de fundo Janela com icone personalizadoBom por enquanto é isso pessoal, quem quiser pode baixar os exemplos em anexo
Java.rar
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.