我使用swing在java中编写了一个代码,这样我就可以在JPanel中添加一个JscrollPane,然后我将以垂直方式添加固定大小的按钮到JPanel
JPanel panel=new JPanel();
panel.setBackground(Color.WHITE);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;
JScrollPane jsp=new JScrollPane(panel,v,h);
jsp.setPreferredSize(new Dimension(600,600));
jsp.setBounds(150,670,850,200);
frame.add(jsp);
Run Code Online (Sandbox Code Playgroud)
然后我在运行时添加按钮.
for(i=0;i<n;i++)
{
button[i]=new JButton();
button[i].setBounds(20,y,120,120);
button[i].setSize(120,120);
button[i].setToolTipText(file[i].toString());
button[i].setIcon(Icon);
panel.add(button[i]);
y=y+140;
}
Run Code Online (Sandbox Code Playgroud)
我想在另一个下面添加一个按钮...(即我想要一个垂直滚动条)
即button1
button2
'
'
Run Code Online (Sandbox Code Playgroud)
但上面的代码给我一行中的按钮(即我得到水平滚动条)即button1 button2 ...
另一个问题是按钮的大小.使用btn.setSize()根本不影响大小......
有谁能够帮我?
是否有可能以任何可能的方式添加/更改.applicationClickOnce部署文件的文件(或其他方式)以允许指定参数而无需通过URL传递参数?
程序集可以在运行时编译/重新签名/等,或者另有说明,我不担心"我还有什么"的界限.
是否可以在HTML代码中链接youtube视频而不显示其字幕(字幕)?
假设我有以下视频:http://www.youtube.com/watch?v = kTvHIDKLFqc.它有默认的英文字幕.但是,在链接此视频时,我想在没有它们的情况下加载它.是否有可能在视频中使用某种参数?
我发现这个链接描述了如何做,但似乎没有用.如果我尝试使用以下格式的链接,则无论如何都会显示字幕:http://www.youtube.com/watch?v = kTvHIDKLFqc&cc_load_policy = 0.它不工作还是我误解了什么?
我发现该var关键字极大地有助于降低C#代码中的噪声,几乎不会损失可读性; 我会说我现在只在编译器强迫我使用时才使用显式输入.
我知道使用var不会改变我的代码的运行时特性.但问题刚刚发生在我身上:我是否在编译时为编译器正在为我做的所有额外工作付出了巨大的代价?
有没有人做过任何基准测试,看看var对编译时间的广泛使用有多大区别?
我正在使用NUnit 2.5.3 TestCaseSource属性并创建工厂来生成我的测试.像这样的东西:
[Test, TestCaseSource(typeof(TestCaseFactories), "VariableString")]
public void Does_Pass_Standard_Description_Tests(string text)
{
Item obj = new Item();
obj.Description = text;
}
Run Code Online (Sandbox Code Playgroud)
我的来源是这样的:
public static IEnumerable<TestCaseData> VariableString
{
get
{
yield return new TestCaseData(string.Empty).Throws(typeof(PreconditionException))
.SetName("Does_Reject_Empty_Text");
yield return new TestCaseData(null).Throws(typeof(PreconditionException))
.SetName("Does_Reject_Null_Text");
yield return new TestCaseData(" ").Throws(typeof(PreconditionException))
.SetName("Does_Reject_Whitespace_Text");
}
}
Run Code Online (Sandbox Code Playgroud)
我需要做的是向变量字符串添加最大长度检查,但是这个最大长度是在被测试类中的合同中定义的.在我们的例子中它是一个简单的公共结构
public struct ItemLengths
{
public const int Description = 255;
}
Run Code Online (Sandbox Code Playgroud)
我找不到任何方法将值传递给测试用例生成器.我尝试过静态共享值,但这些值并没有被提取.我不想将文件保存到文件中,因为每次代码更改时我都需要重新生成此文件.
我想在我的测试用例中添加以下行:
yield return new TestCaseData(new string('A', MAX_LENGTH_HERE + 1))
.Throws(typeof(PreconditionException));
Run Code Online (Sandbox Code Playgroud)
在概念上相当简单,但我发现无法做到的事情.有什么建议?
我想检查一个简单的数学表达式是否会溢出(使用checked和catch(OverflowException)),但不需要每次都使用try-catch块.因此表达式(不是结果!)应该传递给一个函数checkOverflow,然后在溢出的情况下相应地起作用.
这是我尝试过的,但不起作用,因为似乎没有lambda表达式的词法作用域.
static void Main(string[] args)
{
double g, h;
// Check if the expression g+h would overflow, *without* the need to use
// try/catch around the expression
// Both of the following attempts fail because there's no lexical scoping
checkOverflow((FloatReturningExpression) delegate() {return g+h;});
checkOverflow(() => g+h);
Console.ReadKey();
}
private static void checkOverflow(FloatReturningExpression exp)
{
try
{
checked { double f = exp(); }
}
catch(OverflowException)
{
Console.WriteLine("overflow!");
}
}
private delegate double FloatReturningExpression(); …Run Code Online (Sandbox Code Playgroud) 我在VS中的工具箱中添加了一个.ocx.创建了两个.dll:Interop.NNN.dll,AxInterop.NNN.dll.
每个人是什么?它们都是必需的吗?
如何在不明确写入的情况下以特定顺序编写元素属性?
考虑:
<xsl:template match="Element/@1|@2|@3|@4">
<xsl:if test="string(.)">
<span>
<xsl:value-of select="."/><br/>
</span>
</xsl:if>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
属性应显示在订单中1, 2, 3, 4.不幸的是,你不能保证XML中的属性顺序,它可能是<Element 2="2" 4="4" 3="3" 1="1">
所以上面的模板将产生以下内容:
<span>2</span>
<span>4</span>
<span>3</span>
<span>1</span>
Run Code Online (Sandbox Code Playgroud)
理想情况下,如果每个属性都有值,我不想测试它们.我想知道我是否能以某种方式设置显示器的顺序?或者我是否需要明确地执行此操作并重复if测试,如下所示:
<xsl:template match="Element">
<xsl:if test="string(./@1)>
<span>
<xsl:value-of select="./@1"/><br/>
</span>
</xsl:if>
...
<xsl:if test="string(./@4)>
<span>
<xsl:value-of select="./@4"/><br/>
</span>
</xsl:if>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
在这种情况下可以做些什么?
我正在使用HTML Parser开发应用程序.下面的代码无法获取页面中的整个标记集.有一些标签被遗漏,它们的属性和文本体也被遗漏了.请帮我解释为什么会发生这种情况.....或建议我采取其他方式....
URL url = new URL("...");
PrintWriter pw=new PrintWriter(new FileWriter("HTMLElements.txt"));
URLConnection connection = url.openConnection();
InputStream is = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
HTMLEditorKit htmlKit = new HTMLEditorKit();
HTMLDocument htmlDoc = (HTMLDocument)htmlKit.createDefaultDocument();
HTMLEditorKit.Parser parser = new ParserDelegator();
HTMLEditorKit.ParserCallback callback = htmlDoc.getReader(0);
parser.parse(br, callback, true);
ElementIterator iterator = new ElementIterator(htmlDoc);
Element element;
while ((element = iterator.next()) != null)
{
AttributeSet attributes = element.getAttributes();
Enumeration e=attributes.getAttributeNames();
pw.println("Element Name :"+element.getName());
while(e.hasMoreElements())
{
Object key=e.nextElement();
Object val=attributes.getAttribute(key);
int …Run Code Online (Sandbox Code Playgroud) 错误C2664:'strcpy':无法将参数1从'TCHAR*'转换为'char*'代码:
LPCTSTR name, DWORD value
strcpy (&this->valueName[0], name);
Run Code Online (Sandbox Code Playgroud)
错误C2664:'strlen':无法将参数1从'LPCTSTR'转换为'const char*'
LPCTSTR name;
strlen (name)
Run Code Online (Sandbox Code Playgroud)
以上代码在另一个项目中工作正常的类,我找不到它在MS VS2010项目中不起作用的原因.