小编Mee*_* K.的帖子

我正在尝试在JFrame中绘制一个字符串,但它不起作用..请帮助

我正在尝试按下按钮时显示一个字符串,但它不起作用.我不知道问题是什么.我没有错误,但这并没有打扰我.我想,我遗漏了一些基本的东西.请帮忙!!

//I'm trying to draw a string in the frame when a button is pressed, but it won't work..
//Can't figure out what the problem is.


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

class AppletTwo extends JFrame implements ActionListener
{

    JFrame frameOne;
    JButton btnOne;

    AppletTwo()
    {

        frameOne = new JFrame("frameOne");
        frameOne.setSize(320,240);
        frameOne.setLayout(new FlowLayout(FlowLayout.LEFT));
        frameOne.setVisible(true);
        frameOne.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        btnOne = new JButton("Print");
        btnOne.addActionListener(this);
        frameOne.add(btnOne);
    }

    public void actionPerformed(ActionEvent ae)
    {

        if(ae.getSource() == btnOne)
        {
            repaint();
        }
    }

    public void paint(Graphics g)
    {
        g.drawString("Never Works",150,150); …
Run Code Online (Sandbox Code Playgroud)

java swing paint jframe repaint

2
推荐指数
1
解决办法
461
查看次数

替换片段不会完全替换先前的片段.为什么这样?

我正在实现一个"fragment-101"程序,在这里我在单击相应的按钮时替换一个片段.但是,下面的事情发生了:

在启动应用程序时

点击

点击

为什么会这样?为什么初始片段没有完全替换?MainActivity和片段xml文件都使用LinearLayout.我在这里搜索了一下这个问题,发现replace()方法有时会出错,所以我尝试使用add(),但无济于事.片段中没有特殊代码,它是一个简单的hello-world-type片段程序.

我在AVD中使用Android Lollipop版本以及在Android Studio 1.0.2中使用与Android 4.0.3相对应的minSDK版本的targetSDK.这可能是Android Lollipop的相关内容吗?

MainActivity.java

package com.example.fragmenttest;

import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;


public class MainActivity extends Activity {

    FragmentManager fm;
    FragmentTransaction ft;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    public void launchFragment(View v)
    {
        Fragment frag;

        if(v == findViewById(R.id.btnFrag2))
        {
            frag = new FragmentTwo();
        }
        else
        {
            frag = new FragmentOne();
        }

        fm = this.getFragmentManager();
        ft = fm.beginTransaction();
        ft.replace(R.id.myFrag,frag);
        ft.commit();
    } …
Run Code Online (Sandbox Code Playgroud)

android android-ui android-fragments android-5.0-lollipop

2
推荐指数
1
解决办法
1349
查看次数