Meus caros, saudações e um ótimo dia a todos. Não enrolarei muito. Fiz uma atividade para praticar mesmo, no que consiste criar uma aplicação Java, com dados de carros que será mostrado no jframe e jlabel. Segue o codigo abaixo.
package banco.de.dados;
import javax.swing.*;
public class BancoDeDados {
public static void main (String[] args){
Ferrari carro;
carro = new Ferrari();
carro.Ferrari();
carro.Ferrari1();
carro.Ferrari2();
carro.Ferrari3();
carro.Ferrari4();
carro.Ferrari5();
}
public String Modelo;
public int Numero_do_modelo;
public String Letras_adicionais_do_modelo;
public int Velocidade ;
//setter-getter de modelo do carro
public String getModelo(){
return this.Modelo;
}
public void setModelo(String Modelo){
this.Modelo=Modelo;
}
//getter-setter do numero do modelo do carro
public int getNumero_do_modelo(){
return this.Numero_do_modelo;
}
public void setNumero_do_modelo(int Numero_do_modelo){
this.Numero_do_modelo=Numero_do_modelo;}
//getter-setter das letras existentes na id do modelo do carro
public String getLetras_adicionais_do_modelo(){
return this.Letras_adicionais_do_modelo;
}
public void setLetras_adicionais_do_modelo(String Letras_adicionais_do_modelo){
this.Letras_adicionais_do_modelo=Letras_adicionais_do_modelo;}
//getter-setter da velocidade que o veiculo alcança
public int getVelocidade (){
return this.Velocidade;
}
public void setVelocidade(int Velocidade){
this.Velocidade=Velocidade;
{System.out.println("Exemplo de um banco de dados pequeno");
{System.out.println("-------------------------------------");
{System.out.println("Dados de automoveis com maior valor financeiro e alcance de velocidade");
{System.out.println("----------------------------------------------------------");
{System.out.println("\n");
}}}}
//adicionar layout do projeto
JFrame frame;
frame = new JFrame ("Autopedia");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(950, 534);
frame.setLayout(null);
ImageIcon icon = new ImageIcon("C:\\carro_BancoDeDados.jpg");
//instanciação do testo
JLabel label = new JLabel("Este teste consiste em um pequeno banco de dados,"
+"\n "+" onde está registrado os carros mais rapidos e com design inovador/chamativo que existem pelo mundo.", JLabel.LEFT);
JLabel label1 = new JLabel("\n", JLabel.LEFT);
JLabel label2 = new JLabel("Exemplo de um banco de dados pequeno", JLabel.LEFT);
JLabel label3 = new JLabel("\n", JLabel.LEFT);
JLabel label4 = new JLabel("Dados de automoveis com maior valor financeiro e alcance de velocidade", JLabel.LEFT);
JLabel label5 = new JLabel("\n", JLabel.LEFT);
JLabel label6 = new JLabel("----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------", JLabel.LEFT);
JLabel label7 = new JLabel("\n", JLabel.LEFT);
JLabel label8 = new JLabel("Por favor, selecione uma alternativa abaixo:", JLabel.LEFT);
//parametros do texto
label.setBounds(0, 1, 800000, 20);
label1.setBounds(0, 12, 800000, 20);
label2.setBounds(0, 24, 800000, 20);
label3.setBounds(0, 36, 800000, 20);
label4.setBounds(0, 48, 800000, 20);
label5.setBounds(0, 60, 800000, 20);
label6.setBounds(0, 72, 800000, 20);
label7.setBounds(0, 84, 800000, 20);
label8.setBounds(0, 96, 800000, 20);
//adicionar o texto
frame.add(label);
frame.add(label1);
frame.add(label2);
frame.add(label3);
frame.add(label4);
frame.add(label5);
frame.add(label6);
frame.add(label6);
frame.add(label8);
//botoes do projeto
JButton button = new JButton("Carros espertivos");
button.setBounds(50, 120, 360, 40);
frame.add(button);
JButton button1 = new JButton("Carros populares");
button1.setBounds(50, 168, 360, 40);
frame.add(button1);
frame.setVisible(true);
}}}
Segunda parte :
package banco.de.dados;
public class Ferrari extends BancoDeDados{
public void Ferrari(){
this.setModelo("Italia");
this.setNumero_do_modelo(458);
this.setLetras_adicionais_do_modelo(" ");
this.setVelocidade(325);
System.out.print("A ferrari " + Modelo + " " + Numero_do_modelo + " pode chegar a " + Velocidade + " Km por hora.");
}
public void Ferrari1(){
this.setModelo("Testarossa");
this.setNumero_do_modelo(0);
this.setLetras_adicionais_do_modelo(" ");
this.setVelocidade(290);
System.out.println("\n");
System.out.print("A ferrari " + Modelo + " " + " pode chegar a " + Velocidade + " Km por hora.");
}
public void Ferrari2(){
this.setModelo("");
this.setNumero_do_modelo(348);
this.setLetras_adicionais_do_modelo("TB");
this.setVelocidade(272);
System.out.println("\n");
System.out.print("A ferrari "+ Numero_do_modelo + Letras_adicionais_do_modelo + " pode chegar a " + Velocidade + " Km por hora.");
}
public void Ferrari3(){
this.setModelo("GTB/4");
this.setNumero_do_modelo(275);
this.setLetras_adicionais_do_modelo("Berlinetta 1967");
this.setVelocidade(150);
System.out.println("\n");
System.out.print("A ferrari "+ Numero_do_modelo +" "+ Modelo+" "+Letras_adicionais_do_modelo + " pode chegar a " + Velocidade + " Km por hora.");
}
public void Ferrari4(){
this.setModelo("Dino");
this.setNumero_do_modelo(246);
this.setLetras_adicionais_do_modelo("GTS 1971");
this.setVelocidade(140);
System.out.println("\n");
System.out.print("A ferrari "+ Modelo+" "+Numero_do_modelo+" "+Letras_adicionais_do_modelo + " pode chegar a " + Velocidade + " Km por hora.");
}
public void Ferrari5(){
this.setModelo("GTO 1962");
this.setNumero_do_modelo(250);
this.setLetras_adicionais_do_modelo("");
this.setVelocidade(300);
System.out.println("\n");
System.out.print("A ferrari "+Numero_do_modelo+" "+Modelo + " pode chegar a " + Velocidade + " Km por hora.");
}
}
E também criei um Jlabel com uma imagem, para colocar no fundo, seguindo os tutoriais presentes no GUJ e tbm no site da NetBeans : (peguei o codigo fonte criado no termino da imagem colocada)
package banco.de.dados;
/**
*
* @author CS9399
*/
public class ImageDisplay extends javax.swing.JFrame {
/**
* Creates new form ImageDisplay
*/
public ImageDisplay() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/me/myimageapp/newpackage/carro_BancoDeDados.jpg"))); // NOI18N
jLabel1.setText("jLabel1");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 1174, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 657, Short.MAX_VALUE)
.addContainerGap())
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(ImageDisplay.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(ImageDisplay.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(ImageDisplay.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(ImageDisplay.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ImageDisplay().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
// End of variables declaration
void Imagedisplay() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
E com isso chego ao meu problema: Os dois codigos estão rodando ok( o jlabel com a imagem é a de um carro), mas… como eu posso juntar os dois, de modo que a imagem fique no fundo e não sobreponha os jlabel’s que eu ja coloquei ? ( meu foco era não alterar o codigo principal kkkk)
Obs: ja ajustei a imagem para “caber” no jframe criado no primeiro codigo (949x534)
Desde já agradeço. Sucesso para todos.