View Full Version : استفاده از jtextfeild و Jbutton بطور همزمان
mansoor69
پنج شنبه 02 دی 1389, 20:25 عصر
من در یک فریم Jbutton میگذارم و وقتی یک jtextfeild هم می سازم توی فریمم هیچی نشون نمی ده.حتی jbutton رو هم که قبل از ساخت jtextfeild نشون میداد؛ دیگه نشون نمیده.
نمی دونم مشکل از کجاست.من قبلش layoutmanager رو null کردم.مشکل ازlayoutmanager یا چیز دیگه ؟؟؟ اگه می تونید منو کمک کنید
javaphantom
جمعه 03 دی 1389, 23:21 عصر
کدتو بزار تا ببینم چه کردی مهندس
mansoor69
شنبه 04 دی 1389, 00:17 صبح
کدتو بزار تا ببینم چه کردی مهندس
سلام ممنون خودم فهمیدم مشکل از کجاست .اما می نویسمش شاید بدرد کسی بخوره
مشکل من اینجا بود که با این کد فقط jbutton رو نشون میداد
public class Main {
public static void main(String[] args){
JFrame frame=new JFrame();
frame.setVisible(true);
frame.setSize(500,400);
JPanel panel=new JPanel();
panel.setLayout(null);
JButton button=new JButton("asd");
//JTextField field=new JTextField("adssssssss");
button.setBounds(80, 90, 40, 30);
//field.setBounds(150,40,100,20);
panel.add(button);
//panel.add(field);
frame.add(panel)
{
{
به محل قرار گیری setvisible (کد قرمز رنگ)فریم توجه کنید.
حالا اگه همین کد رو jtextframe رو فعال کنی دیگه(کدهای آبی رنگ رو فعال کنی) تو پنل هیچی نشون نمیده.
من در مرحله بعد که تونستم به جواب برسم جای setvisible رو اوردم (کد قرمز رنگ)پایین تمام کدها یعنی به این صورت
public class Main {
public static void main(String[] args){
JFrame frame=new JFrame();
frame.setSize(500,400);
JPanel panel=new JPanel();
panel.setLayout(null);
JButton button=new JButton("asd");
JTextField field=new JTextField("adssssssss");
button.setBounds(80, 90, 40, 30);
field.setBounds(150,40,100,20);
panel.add(button);
panel.add(field);
frame.add(panel);
frame.setVisible(true);
{
{
برنامه درست جواب میداد یعنی هم button و هم jtextfeald رو نشون میداد.
حالا هنوز نمی فهمم که چرا تو مرحله اول که setvisible بالا بود فقط با یه دکمه کار می کرد و یه دکمه رو نشون میداد اما با new کردن یه jtextfeild دیگه هیچی نشون نمیداد.مشکل اینجاست که یا باید هیچی نشون نده یا همه رو نشون بده پس چرا با یه دکمه درست کار می کنه ولی با نیو کردن jtextfeild دیگه هیچی کار نمی کنه
javaphantom
شنبه 04 دی 1389, 08:37 صبح
سلام ممنون خودم فهمیدم مشکل از کجاست .اما می نویسمش شاید بدرد کسی بخوره
مشکل من اینجا بود که با این کد فقط jbutton رو نشون میداد
public class Main {
public static void main(String[] args){
JFrame frame=new JFrame();
frame.setVisible(true);
frame.setSize(500,400);
JPanel panel=new JPanel();
panel.setLayout(null);
JButton button=new JButton("asd");
//JTextField field=new JTextField("adssssssss");
button.setBounds(80, 90, 40, 30);
//field.setBounds(150,40,100,20);
panel.add(button);
//panel.add(field);
frame.add(panel)
{
{
به محل قرار گیری setvisible (کد قرمز رنگ)فریم توجه کنید.
حالا اگه همین کد رو jtextframe رو فعال کنی دیگه(کدهای آبی رنگ رو فعال کنی) تو پنل هیچی نشون نمیده.
من در مرحله بعد که تونستم به جواب برسم جای setvisible رو اوردم (کد قرمز رنگ)پایین تمام کدها یعنی به این صورت
public class Main {
public static void main(String[] args){
JFrame frame=new JFrame();
frame.setSize(500,400);
JPanel panel=new JPanel();
panel.setLayout(null);
JButton button=new JButton("asd");
JTextField field=new JTextField("adssssssss");
button.setBounds(80, 90, 40, 30);
field.setBounds(150,40,100,20);
panel.add(button);
panel.add(field);
frame.add(panel);
frame.setVisible(true);
{
{
برنامه درست جواب میداد یعنی هم button و هم jtextfeald رو نشون میداد.
حالا هنوز نمی فهمم که چرا تو مرحله اول که setvisible بالا بود فقط با یه دکمه کار می کرد و یه دکمه رو نشون میداد اما با new کردن یه jtextfeild دیگه هیچی نشون نمیداد.مشکل اینجاست که یا باید هیچی نشون نده یا همه رو نشون بده پس چرا با یه دکمه درست کار می کنه ولی با نیو کردن jtextfeild دیگه هیچی کار نمی کنه
کد شما در مرحله اول هم که وقتی setvisible بالاست کار می کنه فقط کافی هست که پنجره رو یک بار با ماوس resize کنید اون موقع صفحه شما دوباره همه رو برات می کشه.
جواب کلیت هم اینکه شما اول پنجره رو نشون دادید و مخلفات رو بهش اضافه کردی. وقتی setVisible پایین پایین می یاری اون موقع مخلفات برات که قبلا اضافه کردن بوده رو نشون می ده. همین
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.