Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[newbie] problema con JMenu

0 views
Skip to first unread message

Maurizio Penna

unread,
Apr 29, 2003, 4:33:25 AM4/29/03
to
Salve.
Ho da poco intrapreso lo studio di Java, e, come tutti i novelli, mi sono
scontrato con la parte pratica. :-(.
Ho fatto una banalissima JFrame, con due menų ed una textarea.
Tutto funziona bene, ma quando inserisco la textarea, non riesco a vedere il
menu, ovvero, vedo il menu, ma quando vi clicco sopra, non si apre la
tendina contenente i JMenuItem.
Qualcuno mi puō aiutare?


Vi posto il codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Menumio extends JFrame {

// Istanzio due menu
JMenu file = new JMenu("Menu");
JMenu log = new JMenu ("Log");

// Istanzio la barrad dei menu
JMenuBar barra = new JMenuBar();

//Item del primo menu
JMenuItem apri = new JMenuItem("Apri");
JMenuItem chiudi = new JMenuItem("Chiudi");
JMenuItem salva = new JMenuItem("Salva");
JMenuItem esci = new JMenuItem ("Esci");

//Item del secondo menu
JMenuItem LogOut = new JMenuItem ("LogOut");
JMenuItem LogIn = new JMenuItem ("LogIn");

TextArea T1 = new TextArea(20,30);

public Menumio() {

file.add(apri);
file.add(chiudi);
file.add(salva);
file.add(esci);

log.add(LogOut);
log.add(LogIn);

barra.add(file);
barra.add(log);

this.setJMenuBar(barra);

this.setSize(300,300);

Container paneFrame = this.getContentPane();
paneFrame.add(T1, FlowLayout.LEFT);
this.show();
}

public static void main(String[] args) {

Menumio menumio1 = new Menumio();
}

}
--
Ciao.
Maurizio

oizirbaF

unread,
Apr 29, 2003, 5:23:44 AM4/29/03
to
Maurizio Penna wrote:

> Salve.
> Ho da poco intrapreso lo studio di Java, e, come tutti i novelli, mi sono
> scontrato con la parte pratica. :-(.

Anch'io

> Ho fatto una banalissima JFrame, con due menů ed una textarea.


> Tutto funziona bene, ma quando inserisco la textarea, non riesco a vedere
> il menu, ovvero, vedo il menu, ma quando vi clicco sopra, non si apre la
> tendina contenente i JMenuItem.

> Qualcuno mi puň aiutare?
>cut

Senti l'ho riscritta come piace a me (funziona) , la tua aveva i menu
nascosti dalla JTextArea:
************************
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Menusuo extends javax.swing.JFrame
{

private JMenuBar barra;

private JMenu file;
private JMenu log;

private JMenuItem apri;
private JMenuItem chiudi;
private JMenuItem salva;
private JMenuItem esci;

private JMenuItem logOut;
private JMenuItem logIn;

private JTextArea T1;

public Menusuo()
{
T1 = new JTextArea(20, 30);
JScrollPane scroll = new JScrollPane(T1);
this.getContentPane().add(scroll, BorderLayout.CENTER);

//barra
barra = new JMenuBar();
this.setJMenuBar(barra);

//inserisco nella barra
file = new JMenu("file");
barra.add(file);

log = new JMenu("log");
barra.add(log);

//inserisco gli item nei menu
//file
apri = new JMenuItem("apri");
file.add(apri);

chiudi = new JMenuItem("chiudi");
file.add(chiudi);

salva = new JMenuItem("salva");
file.add(salva);

esci = new JMenuItem("esci");
file.add(esci);

//log
logOut = new JMenuItem("log out");
log.add(logOut);

logIn = new JMenuItem("log in");
log.add(logIn);

//setto il frame
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.show();

}

/**
* @param args the command line arguments
*/


public static void main(String[] args)
{

new Menusuo();
}

}
********************************

Non ho visto dove fosse il tuo errore , anche perchč ci sarei dovuto stare
parecchio, cosě ho fatto prima a metterla giů come l'avrei
fatta (quasi)io .....

Cmq sarebbe meglio che tu dividessi il frame in tanti sotto metodi che
restituiscono i componenti del frame per riassemblarlo nel costruttore,
secondo me poi risulta essere piů semplice mantenerla.

--
Ciao. Fabrizio. ( icq: 241182067 )
< MISTAH KURTZ -- HE DEAD.
A penny for the Old Guy>
(T.S. Elliot: the hollow men)

oizirbaF

unread,
Apr 29, 2003, 5:45:43 AM4/29/03
to
oizirbaF wrote:

>cut


>
> Non ho visto dove fosse il tuo errore , anche perchč ci sarei dovuto stare
> parecchio, cosě ho fatto prima a metterla giů come l'avrei
> fatta (quasi)io .....

Ripensandoci ho trovato l'errore, in effetti mi sembrava strano l'aspetto
della TextArea che veniva fuori a te ...... infatti usavi quell di awt e
non quella di swing ,
basterebbe correggere TextArea T1 = new TextArea(20, 30) in
JTextArea T1 = new JTextArea(20, 30);

0 new messages