Swing tutorial et multi button listener (facile)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 27 502 fois - Téléchargée 25 fois


Contenu du snippet

Swing tutorial et multi button listener (facile)
tres bon pour les débutants, facile a comprendre mais jlai expliquer en anglais car jai poster chez PSC aussi

Source / Exemple :


// Copyright J-f Mitchell, this litle peace of code is a great
// tutorial for swing begigner.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JavaApp {
	JFrame frame1;
	JButton command1;
	JTextField text1;  //Declaring variables in class to able to use it in the whole class.
	JPanel panel1;
	JButton command2;
	
	
	public JavaApp() {
		
		frame1 = new JFrame("Put your title here"); //Main frame
	frame1.setSize(50, 50);
		command1 = new JButton("Button 1"); // creating control from declared variable in the class
		text1 = new JTextField(20);
		panel1 = new JPanel();
		command2 = new JButton("Button 2");
		
		
			command1.setMnemonic(KeyEvent.VK_I); //This is an event listener without the implements in the class, I like this method!
        command1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
        text1.setText("Button 1!");
            }
        });
			
			
				command2.setMnemonic(KeyEvent.VK_I); // listener for the second button
        command2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
        text1.setText("Button 2!");
            }
        });
			
		
		panel1.setLayout(new FlowLayout());
		panel1.add(text1);
		panel1.add(command1); //adding components to pane, you need this to be able to see ure component,
		panel1.add(command2);
		
		frame1.getContentPane().add(panel1, BorderLayout.CENTER); //add my pane to my frame

        // Exit when the window is closed.
       frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

	// show the frame!
	frame1.pack();
	frame1.setVisible(true);
}

 public static void main(String[] args) {
	// set the look and feel
	try {
	    UIManager.setLookAndFeel(
		UIManager.getCrossPlatformLookAndFeelClassName()); //getting the java swing look
	} catch(Exception e) {}

	JavaApp javaapp = new JavaApp(); // tell the program to show up the frame by calling my GUI function
	
    }
}

A voir également

Ajouter un commentaire

Commentaires

ingenior
Messages postés
6
Date d'inscription
mardi 27 décembre 2011
Statut
Membre
Dernière intervention
9 avril 2013

Bonjour,Aidez moi svp!!!! j'ai un probleme dans le treeCellRender. je veux avoir un tree qui herite de Jtree avec des icons et des checkbox pour les feuilles. alors que la
fesabilité n'est realisable que pour l'un ou l'autre cas cad ou bien j'ai les
DefaultMitableTreeNode avec des icons ou bien les checkbox pour les
sous feuilles. j'ai utilisé le code suivant:
pour le traitement des icons:
public void iconRender(){
DefaultTreeCellRenderer myRenderer = new DefaultTreeCellRenderer();
myRenderer.setOpenIcon(IconsList.Photo.getIcon(15, 15));
myRenderer.setClosedIcon(IconsList.Photo.getIcon(15, 15));
tree.setCellRenderer(myRenderer);
}
pour les chechbox:
RenduComposant rc = new RenduComposant();
EditComposant ec = new EditComposant();

tree.setCellRenderer(rc);
tree.setCellEditor(ec);

class RenduComposant implements TreeCellRenderer{
public Component getTreeCellRendererComponent(JTree tree, Object obj, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus){
DefaultMutableTreeNode dmtcr = (DefaultMutableTreeNode)obj;
if(dmtcr.getUserObject() instanceof JCheckBox){
JCheckBox toto = (JCheckBox)dmtcr.getUserObject();
return toto;
} else {
JLabel toto = new JLabel((String)dmtcr.getUserObject());
return toto;
}
}
}

class EditComposant implements TreeCellEditor{
public void addCellEditorListener(CellEditorListener l){
}
public void cancelCellEditing() {
}
public Object getCellEditorValue(){
return this;
}
public boolean isCellEditable(EventObject evt){
if(evt instanceof MouseEvent){
MouseEvent mevt = (MouseEvent) evt;
if (mevt.getClickCount() == 1){
return true;
}
}
return false;
}
public void removeCellEditorListener(CellEditorListener l){
}
public boolean shouldSelectCell(EventObject anEvent){
return true;
}
public boolean stopCellEditing(){
return false;
}
public Component getTreeCellEditorComponent(JTree tree, Object obj, boolean isSelected, boolean expanded, boolean leaf, int row){
DefaultMutableTreeNode dmtn = (DefaultMutableTreeNode)obj;
JCheckBox tata=(JCheckBox)dmtn.getUserObject();
tata.setEnabled(true);
return tata;
}
}
nonoz
Messages postés
57
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
23 juin 2004

Quand je coompile ton code je recois ce message d'erreur:
-----------
Exception in thread "main" java.lang.NoclassDefFoundError: JavaApp/java
----------
pourquoi?
merci
nonoz
Messages postés
57
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
23 juin 2004

Quand je coompile ton code je recois ce message d'erreur:
-----------
Exception in thread "main" java.lang.NoclassDefFoundError: JavaApp/java
----------
pourquoi?
merci
nonoz
Messages postés
57
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
23 juin 2004

Quand je coompile ton code je recois ce message d'erreur:
-----------
Exception in thread "main" java.lang.NoclassDefFoundError: JavaApp/java
----------
pourquoi?
merci
cs_LordBob
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
9
non merde oublie je me suis trompé de source pour le deuxieme commentaire !!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.