Zdravim,prosim o radu.Mam vytvorene jednoduche okno JFrame a v nom vlozenu komponentu JTextPane.Ked ale pisem do nej,tak sa posuva,roztahuje.Ako je mozne zadat v JTextPane pevnu sirku a vysku napr. na 10 znakov ?
Dakujem za radu
kod:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class okno{
static JFrame skuska = new JFrame("okno");
public static void main(String[] args){
Toolkit taSada = skuska.getToolkit();
Dimension obrVelkost = taSada.getScreenSize();
skuska.setBounds(obrVelkost.width/4, obrVelkost.height/4, obrVelkost.width/2, obrVelkost.height/2);
skuska.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
skuska.getContentPane().setBackground(Color.LIGHT_GRAY);
JTextPane vlozText = new JTextPane();
FlowLayout fLayout = new FlowLayout();
Container obsah = skuska.getContentPane();
obsah.setLayout(fLayout);
obsah.add(vlozText);
skuska.setVisible(true);
}
}
Fórum › Java
Java GUI
Můžeš použít setBounds, ale problém je i v použitém layoutu. FlowLayout ti to bude pořád skládat do jednoho řádku a nebude respektovat velikost. Můžeš zkusit null layout. A podle toho, co vlastně chceš dosáhnout ... možná by ti stačila komponenta TextArea.
Dakujem za odpoved.
Chcel by som vytvorit koponentu v tvare jedneho riadku,do ktorej by sa zmestilo napr. len 10 pismen(napr. na zadavanie hesla) a ten vstup chcem potom spracovat.Pomocou GridBagLayout,GridBagContrains sa mi to podarilo,mala komponeta urcitu sirku,ale dalo sa do nej vkladat znaky neobmezene.
Jednoduchsie
JTextField vlozText = new JTextField(null,10); a nejaky Layout
Zada urcitu sirku,ale stale sa daju vkladat znaky neobmedzene.
Neviete niekto poradit dobry sposob ako dosiahnut obmedzenie znakov??
Dakujem
Zkus se kdyžtak mrknout sem http://java.sun.com/javase/6/docs/api/Toolki osobně bych vyzkoušel setColumns(i). Jinak jak tak koukám jak děláš to okno.. Já osobně to dělám trochu jinak.. vytvořím si potomka třídy JFrame.. pošlu kód to bude nejjednodušší
import javax.swing.*;
import java.awt.*;
public class Okno extends JFrame{
public Okno(){
super("GUI pokus");
setSize(500, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container komponenty = getContentPane();
setLayout(null);
JTextField ukazatelPoctu = new JTextField();
ukazatelPoctu.setEditable(true);
ukazatelPoctu.setText("xyz");
ukazatelPoctu.setLocation(250, 10);
ukazatelPoctu.setSize(50,20);
komponenty.add(ukazatelPoctu);
JButton OK = new JButton("OK");
OK.setSize(40,20);
OK.setLocation(310,10);
komponenty.add(OK);
setContentPane(komponenty);
setVisible(true);
}
}
Jelikož je layout null tak máš totální kontrolu nad tím co kde je a jak to je velké.. jinak se to zavolá potom jednoduše z main tím, že vytvoříš objekt Okno okno = new Okno();
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Java - Gui — založil Honza44
Java gui ActionPerformed — založil mirec123
Java kniha o GUI — založil smajdalf33
Java GUI jFrame — založil brbla
Moderátoři diskuze