Just nu i M3-nätverket
Gå till innehåll

Paneler


Andy10

Rekommendera Poster

Jag har problem med paneler.

Jag vill att mina etiketter, textrutor och knapper ska ligga bredvid varandra, så här :

 

Förnam: textruta

Efternamn: textruta Sök-knapp

Telnr: textruta

 

Förnamn Efternamn Telnr(etiketer )

 

Stor textarea med scrollpane

 

men jag får inte ihop det, snälla hjälp, så ser min kod ut:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

 

public class Telefonregister extends JFrame implements ActionListener {

 

JPanel frågor = new JPanel(); // övre delen

JLabel fnamnFråga = new JLabel("Förnamn: ",JLabel.RIGHT);

JLabel enamnFråga = new JLabel("Efternamn: ", JLabel.RIGHT);

JLabel tnrFråga = new JLabel("Telnr: ", JLabel.RIGHT);

 

JTextField fnamnSvar = new JTextField(12);

JTextField enamnSvar = new JTextField(12);

JTextField tnrSvar = new JTextField(12);

JButton s = new JButton("Sök!");

 

JPanel text = new JPanel();// nedre halva

JLabel fornamnFråga = new JLabel("Förnamn: Efternamn: Telnr: ");

JTextArea res = new JTextArea(5,5);

//JScrollPane sp = new JScrollPane(res,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

 

Telefonregister() { // Konstruktor

Container c = getContentPane(); // skapar behållare

c.setLayout(new BorderLayout());

c.add(frågor,BorderLayout.NORTH);

c.add(text,BorderLayout.CENTER);

frågor.setLayout(new GridLayout(3,2));

frågor.add(fnamnFråga);

frågor.add(fnamnSvar);

//fnamnFråga.setHorizontalAlignment(JLabel.LEFT);

frågor.add(enamnFråga);

frågor.add(enamnSvar);

frågor.add(tnrFråga);

frågor.add(tnrSvar);

frågor.setLayout(new FlowLayout());

frågor.add(s);

//kopplar ihop formulären

fnamnFråga.setLabelFor(fnamnSvar);

enamnFråga.setLabelFor(enamnSvar);

tnrFråga.setLabelFor(tnrSvar);

 

text.setLayout(new BorderLayout());

text.add(fornamnFråga,BorderLayout.NORTH);

text.add(res,BorderLayout.CENTER);

pack();

 

s.addActionListener(this);

setVisible(true);

setDefaultCloseOperation(EXIT_ON_CLOSE);

 

try {

Person1.connect();

}

catch (SQLException e) {

System.err.println(e.getMessage());

getToolkit().beep();

System.err.println("Kan ej ansluta till databasen. Avslutar...");

System.exit(1);

}

}

 

public void actionPerformed(ActionEvent händelse) {

if (händelse.getSource()== s) {

}

}

 

public static void main (String[] arg) {

// Ladda drivrutin

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch (Exception e) {

System.err.println("Kan ej ladda drivrutin.");

e.printStackTrace();

}

 

// Upprätta förbindelse

Connection conn = null;

try{

 

conn = DriverManager.getConnection

("jdbc:odbc:telefonregister","","");

Statement stat = conn.createStatement();

ResultSet rs = stat.executeQuery(

"SELECT tnr,fnamn,enamn FROM telnr WHERE tnr = ?");

 

while(rs.next()){

String t = rs.getString("tnr");

String f = rs.getString("fnamn");

String e = rs.getString("enamn");

}

 

stat.close();

conn.close();

}

 

catch(Exception e) {

System.out.println(e.getMessage());

e.printStackTrace();

}

new Telefonregister();

}

}

Länk till kommentar
Dela på andra webbplatser

www.essential.se

Ett bra sätt att få rutor där man vill ha dom är att använda antingen GridLayout eller GridBagLayout.

Nu var det ett tag sen jag gjorde det, men det finns väl en del i dokumentationen att läsa..

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...